[project] name = "beans-zero" version = "1.0.0" description = "BEANS-Zero: a package for zero-shot evaluation of audio-text bioacoustics models" readme = "README.md" requires-python = ">=3.10" dependencies = [ "datasets>=3.4.0", "pytest>=8.3.5", "scikit-learn>=1.1.1", "torch>=2.0.0", "levenshtein>=0.27.1", "click>=8.1.8", "rich>=14.0.0", ] [dependency-groups] dev = [ "pre-commit>=4.0.1", "pytest>=7.1.2", "ruff>=0.8.1", ] [project.urls] Homepage = "https://github.com/earthspecies/beans-zero" Repository = "https://github.com/earthspecies/beans-zero" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["beans_zero"] [tool.hatch.metadata] allow-direct-references = true [project.scripts] beans-evaluate = "cli:evaluate" beans-fetch = "cli:fetch_dataset" beans-info = "cli:info" [tool.pytest.ini_options] pythonpath = [ ".", "beans_zero", ] python_files = [ "test_*.py", "check_*.py", ] [tool.ruff] line-length = 88 indent-width = 4 exclude = [ "**/*.ipynb" ] [tool.ruff.lint] # List of plugins and Rules # Pycodestyle all errors and warning, Pydoclint, Pyflakes, bugbear, annotations select = ["E4", "E7", "E9", "F"] # Default rules extend-select = ["DOC", "B9", "B", "E", "W", "ANN"] fixable = ["ALL"] unfixable = [] preview = true [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false line-ending = "auto" docstring-code-line-length = "dynamic" [tool.ruff.lint.mccabe] # Flag errors (`C901`) whenever the complexity level exceeds 10. max-complexity = 10 [tool.codespell] skip = "*.csv" [tool.isort] profile = "black" line_length = 88 filter_files = true