[tool.poetry] name = "kanidm" version = "1.0.0" description = "Kanidm client library" license = "MPL-2.0" authors = ["James Hodgkinson "] readme = "README.md" repository = "https://github.com/kanidm/kanidm" homepage = "https://kanidm.com/" packages = [{ include = "kanidm" }] keywords = ["kanidm", "idm", "api"] classifiers = [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Operating System :: OS Independent", ] [tool.poetry.dependencies] python = "^3.9" toml = "^0.10.2" pydantic = ">=2.0.0,<3.0.0" aiohttp = "^3.8.1" Authlib = "^1.2.0" [tool.poetry.dev-dependencies] mypy = "^1.14" pytest = "^8.3.4" types-toml = "^0.10.8" pylint-pydantic = "^0.3.5" coverage = "^7.6.10" pylint-pytest = "^1.1.7" pytest-asyncio = "^0.25.3" pytest-mock = "^3.14.0" pytest-aiohttp = "^1.1.0" black = "^25.1.0" mkdocs = "^1.5.3" mkdocs-material = "^9.6.1" mkdocstrings = "^0.27.0" mkdocstrings-python = "^1.13.0" pook = "^2.1.3" [tool.poetry.group.dev.dependencies] ruff = ">=0.5.1,<0.9.5" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.pylint.MASTER] max-line-length = 150 disable = "W0511,raise-missing-from" extension-pkg-allow-list = "pydantic" # https://github.com/samuelcolvin/pydantic/issues/1961#issuecomment-759522422 load-plugins = "pylint_pydantic,pylint_pytest" [tool.ruff] line-length = 150 [tool.ruff.lint.per-file-ignores] "tests/*.py" = [ "F401", # unused import, reused fixtures across all tests "F811", # pytest fixtures ] [tool.pytest.ini_options] asyncio_mode = "auto" markers = [ "network: Tests that require network access and a working backend server", "interactive: Requires specific config and a working backend server", ] [tool.coverage.run] source = ["kanidm"] omit = ["tests"] [tool.mypy] plugins = "pydantic.mypy"