[project] name = "argenta" version = "1.1.2" description = "Python library for building modular CLI applications" authors = [{ name = "kolo", email = "kolo.is.main@gmail.com" }] requires-python = ">=3.12" readme = "README.md" license = { text = "MIT" } dependencies = [ "rich (>=14.0.0,<15.0.0)", "art (>=6.4,<7.0)", "dishka>=1.7.2", "prompt-toolkit>=3.0.52", ] [dependency-groups] linters = [ "isort>=7.0.0", "ruff>=0.12.12", "wemake-python-styleguide>=0.17.0", ] typecheckers = [ "mypy>=1.14.1", ] docs = [ "esbonio>=1.0.0", "shibuya>=2025.9.25", "sphinx>=8.2.3", "sphinx-autobuild>=2025.8.25", "sphinx-intl>=2.3.2", ] tests = [ "pyfakefs>=5.5.0", "pytest>=8.3.2", "pytest-cov>=7.0.0", "pytest-mock>=3.15.1", ] metrics = [ "matplotlib>=3.10.8", "psutil>=7.2.1", "py-cpuinfo>=9.0.0", ] [tool.ruff] line-length=90 [tool.pyright] typeCheckingMode = "strict" [[tool.pyright.executionEnvironments]] root = "tests/" reportPrivateUsage = false reportUnusedFunction = false [[tool.pyright.executionEnvironments]] root = "metrics/" reportPrivateUsage = false reportUnusedFunction = false [tool.coverage.run] branch = true omit = [ "src/argenta/app/protocols.py", "src/argenta/*/exceptions.py", "src/argenta/metrics/*" ] [tool.mypy] disable_error_code = "import-untyped" [tool.isort] line_length=90 [build-system] requires = ["uv_build"] build-backend = "uv_build"