[build-system] requires = ["setuptools>=45", "wheel", "setuptools_scm[toml]>=6.2"] build-backend = "setuptools.build_meta" [project] name = "microscopy-object-detection" version = "1.0.0" description = "Desktop application for detecting and segmenting organelles in microscopy images using YOLOv8-seg" readme = "README.md" requires-python = ">=3.8" license = { text = "MIT" } authors = [{ name = "Your Name", email = "your.email@example.com" }] keywords = [ "microscopy", "yolov8", "object-detection", "segmentation", "computer-vision", "deep-learning", ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering :: Image Recognition", "Topic :: Scientific/Engineering :: Bio-Informatics", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Operating System :: OS Independent", ] dependencies = [ "ultralytics>=8.0.0", "PySide6>=6.5.0", "pyqtgraph>=0.13.0", "numpy>=1.24.0", "opencv-python>=4.8.0", "Pillow>=10.0.0", "PyYAML>=6.0", "pandas>=2.0.0", "openpyxl>=3.1.0", ] [project.optional-dependencies] dev = [ "pytest>=7.0.0", "pytest-cov>=4.0.0", "black>=23.0.0", "pylint>=2.17.0", "mypy>=1.0.0", ] [project.urls] Homepage = "https://github.com/yourusername/object_detection" Documentation = "https://github.com/yourusername/object_detection/blob/main/README.md" Repository = "https://github.com/yourusername/object_detection" "Bug Tracker" = "https://github.com/yourusername/object_detection/issues" [project.scripts] microscopy-detect = "src.cli:main" [project.gui-scripts] microscopy-detect-gui = "main:main" [tool.setuptools] package-dir = { "" = "." } packages = [ "src", "src.database", "src.model", "src.gui", "src.gui.tabs", "src.gui.dialogs", "src.gui.widgets", "src.utils", ] [tool.setuptools.package-data] src = ["database/*.sql"] "" = ["config/*.yaml"] [tool.black] line-length = 88 target-version = ['py38', 'py39', 'py310', 'py311'] include = '\.pyi?$' [tool.pylint.messages_control] max-line-length = 88 [tool.mypy] python_version = "3.8" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = false [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_functions = ["test_*"] addopts = "-v --cov=src --cov-report=term-missing"