[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "oneprompt-seg" version = "1.0.0" description = "One-Prompt to Segment All Medical Images" readme = "README.md" license = {text = "MIT"} authors = [ {name = "One-Prompt Team", email = "oneprompt@example.com"} ] keywords = [ "medical imaging", "image segmentation", "deep learning", "pytorch", "computer vision" ] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Intended Audience :: Healthcare Industry", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Medical Science Apps.", ] requires-python = ">=3.8" dependencies = [ "torch>=1.10.0", "torchvision>=0.11.0", "numpy>=1.19.0", "pandas>=1.3.0", "Pillow>=8.0.0", "scikit-image>=0.18.0", "scikit-learn>=0.24.0", "monai>=0.8.0", "einops>=0.4.0", "tensorboardX>=2.4.0", "tqdm>=4.60.0", "python-dateutil>=2.8.0", "PyYAML>=5.4.0", "matplotlib>=3.3.0", "seaborn>=0.11.0", "opencv-python>=4.5.0", ] [project.optional-dependencies] dev = [ "pytest>=6.0.0", "pytest-cov>=2.12.0", "black>=21.0.0", "isort>=5.9.0", "flake8>=3.9.0", "mypy>=0.900", "pre-commit>=2.13.0", ] docs = [ "sphinx>=4.0.0", "sphinx-rtd-theme>=0.5.0", "sphinx-autodoc-typehints>=1.12.0", ] [project.urls] Homepage = "https://github.com/oneprompt/One-Prompt-Medical-Image-Segmentation" Documentation = "https://oneprompt-seg.readthedocs.io" Repository = "https://github.com/oneprompt/One-Prompt-Medical-Image-Segmentation" Issues = "https://github.com/oneprompt/One-Prompt-Medical-Image-Segmentation/issues" [project.scripts] oneprompt-train = "scripts.train:main" oneprompt-val = "scripts.val:main" [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] "*" = ["*.yaml", "*.yml", "*.json"] # Black configuration [tool.black] line-length = 88 target-version = ['py38', 'py39', 'py310', 'py311'] include = '\.pyi?$' extend-exclude = ''' /( \.git | \.mypy_cache | \.pytest_cache | \.venv | build | dist | __pycache__ )/ ''' # isort configuration [tool.isort] profile = "black" line_length = 88 skip_gitignore = true known_first_party = ["oneprompt_seg"] known_third_party = ["torch", "torchvision", "numpy", "pandas", "monai"] # pytest configuration [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_functions = ["test_*"] addopts = "-v --tb=short" filterwarnings = [ "ignore::DeprecationWarning", "ignore::UserWarning", ] # mypy configuration [tool.mypy] python_version = "3.8" warn_return_any = true warn_unused_configs = true ignore_missing_imports = true exclude = [ "build", "dist", "docs", ] # Coverage configuration [tool.coverage.run] source = ["src/oneprompt_seg"] branch = true omit = [ "*/tests/*", "*/__pycache__/*", ] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "raise AssertionError", "raise NotImplementedError", "if __name__ == .__main__.:", ]