NatLibFi/Annif

View on GitHub
pyproject.toml

Summary

Maintainability
Test Coverage
[tool.poetry]
name = "annif"
version = "1.3.0-dev"
description = "Automated subject indexing and classification tool"
authors = ["National Library of Finland <finto-posti@helsinki.fi>"]
maintainers = [
    "Osma Suominen <osma.suominen@helsinki.fi>",
    "Juho Inkinen <juho.inkinen@helsinki.fi>",
    "Mona Lehtinen <mona.lehtinen@helsinki.fi>",
]
license = "Apache-2.0"
readme = "README.md"
homepage = "https://annif.org"
repository = "https://github.com/NatLibFi/Annif"
documentation = "https://github.com/NatLibFi/Annif/wiki"
keywords = [
    "machine-learning",
    "text-classification",
    "rest-api",
    "code4lib",
    "subject-indexing",
]

classifiers = [
    "Programming Language :: Python :: 3",
    "License :: OSI Approved :: Apache Software License",
    "Operating System :: OS Independent",
]

[tool.poetry.dependencies]
python = ">=3.9,<3.13"

connexion = { version = "~3.1.0", extras = ["flask", "uvicorn", "swagger-ui"] }
click = "8.1.*"
click-log = "0.4.*"
joblib = "1.4.*"
nltk = "~3.9.1"
gensim = "4.3.*"
scikit-learn = "~1.5.1"
scipy = "~1.13.1"
rdflib = "7.0.*"
requests = "~2.32.3"
gunicorn = "~23.0.0"
numpy = "1.26.*"
optuna = "~4.0.0"
python-dateutil = "2.9.*"
tomli = { version = "2.0.*", python = "<3.11" }
simplemma = "~1.1.1"
jsonschema = "~4.23.0"
huggingface-hub = "~0.25.1"

fasttext-wheel = { version = "0.9.2", optional = true }
voikko = { version = "0.5.*", optional = true }
tensorflow-cpu = { version = "~2.17.0", optional = true }
lmdb = { version = "~1.5.1", optional = true }
omikuji = { version = "0.5.*", optional = true }
yake = { version = "0.4.8", optional = true }
spacy = { version = "3.7.*", optional = true }
stwfsapy = { version = "~0.5.0", optional = true }

[tool.poetry.dev-dependencies]
py = "*"
pytest = "8.*"
pytest-cov = "*"
pytest-watch = "*"
pytest-flask = "*"
flake8 = "*"
bumpversion = "*"
black = "24.*"
isort = "*"
schemathesis = "3.*.*"

[tool.poetry.extras]
fasttext = ["fasttext-wheel"]
voikko = ["voikko"]
nn = ["tensorflow-cpu", "lmdb"]
omikuji = ["omikuji"]
yake = ["yake"]
spacy = ["spacy"]
stwfsa = ["stwfsapy"]

[tool.poetry.scripts]
annif = "annif.cli:cli"

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[tool.isort]
profile = "black"
line_length = "88"
skip_gitignore = true

[tool.pytest.ini_options]
markers = ["slow: marks tests as slow (deselect with '-m \"not slow\"')"]
addopts = "-m 'not slow'"