pyproject.toml
[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'"