[project] name = "batdetect2" version = "1.3.1" description = "Deep learning model for detecting and classifying bat echolocation calls in high frequency audio recordings." authors = [ { "name" = "Oisin Mac Aodha", "email" = "oisin.macaodha@ed.ac.uk" }, { "name" = "Santiago Martinez Balvanera", "email" = "santiago.balvanera.20@ucl.ac.uk" }, ] dependencies = [ "click>=8.1.7", "librosa>=0.10.1", "matplotlib>=3.7.1", "numpy>=1.23.5", "pandas>=1.5.3", "scikit-learn>=1.2.2", "scipy>=1.10.1", "torch>=1.13.1", "torchaudio>=1.13.1", "torchvision>=0.14.0", "setuptools>=70.1.0; python_version == '3.14'", ] requires-python = ">=3.9,<3.15" readme = "README.md" license = { text = "CC-by-nc-4" } classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Multimedia :: Sound/Audio :: Analysis", ] keywords = [ "bat", "echolocation", "deep learning", "audio", "machine learning", "classification", "detection", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project.scripts] batdetect2 = "batdetect2.cli:cli" [dependency-groups] dev = [ "debugpy>=1.8.8", "hypothesis>=6.118.7", "pyright>=1.1.388", "pytest>=7.2.2", "ruff>=0.7.3", ] [[tool.uv.index]] name = "pytorch-cu126" url = "https://download.pytorch.org/whl/cu126" explicit = true [[tool.uv.index]] name = "pytorch-cu118" url = "https://download.pytorch.org/whl/cu118" explicit = true [tool.uv.sources] torch = [ { index = "pytorch-cu118", marker = "python_version == '3.9' and (sys_platform == 'linux' or sys_platform == 'win32')" }, { index = "pytorch-cu126", marker = "python_version != '3.9' and (sys_platform == 'linux' or sys_platform == 'win32')" }, ] torchvision = [ { index = "pytorch-cu118", marker = "python_version == '3.9' and (sys_platform == 'linux' or sys_platform == 'win32')" }, { index = "pytorch-cu126", marker = "python_version != '3.9' and (sys_platform == 'linux' or sys_platform == 'win32')" }, ] torchaudio = [ { index = "pytorch-cu118", marker = "python_version == '3.9' and (sys_platform == 'linux' or sys_platform == 'win32')" }, { index = "pytorch-cu126", marker = "python_version != '3.9' and (sys_platform == 'linux' or sys_platform == 'win32')" }, ] [tool.ruff] line-length = 79 target-version = "py39" [tool.ruff.format] docstring-code-format = true docstring-code-line-length = 79 [tool.ruff.lint] select = ["E4", "E7", "E9", "F", "B", "Q", "I", "NPY201"] [tool.ruff.lint.pydocstyle] convention = "numpy" [tool.pyright] include = ["batdetect2", "tests"] venvPath = "." venv = ".venv" pythonVersion = "3.9" pythonPlatform = "All"