[tool.poetry] name = "annif" version = "1.2.0-dev" description = "Automated subject indexing and classification tool" authors = ["National Library of Finland "] maintainers = [ "Osma Suominen ", "Juho Inkinen ", "Mona Lehtinen ", ] 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.0.5", extras = ["flask", "uvicorn", "swagger-ui"] } click = "8.1.*" click-log = "0.4.*" joblib = "1.4.*" nltk = "3.8.*" gensim = "4.3.*" scikit-learn = "1.4.*" scipy = "1.12.*" rdflib = "7.0.*" requests = "2.31.*" gunicorn = "22.0.*" numpy = "1.26.*" optuna = "3.6.*" python-dateutil = "2.9.*" tomli = { version = "2.0.*", python = "<3.11" } simplemma = "0.9.*" jsonschema = "4.21.*" huggingface-hub = "0.22.*" fasttext-wheel = { version = "0.9.2", optional = true } voikko = { version = "0.5.*", optional = true } tensorflow-cpu = { version = "2.15.*", optional = true, python = "<3.12" } lmdb = { version = "1.4.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.4.*", optional = true, python = "<3.12" } [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'"