[project] name = "argenta" version = "1.2.0" description = "Python library for building modular CLI applications" authors = [{ name = "kolo", email = "kolo.is.main@gmail.com" }] requires-python = ">=3.12,<3.15" 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", ] [project.optional-dependencies] cli = [ "typer>=0.9,!=0.12,<=0.21.1", ] [dependency-groups] dev = [ {include-group = "linters"}, {include-group = "typecheckers"}, {include-group = "docs"}, {include-group = "tests"}, "scriv>=1.8.0", ] 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", ] in-test = [ "cairosvg>=2.8.2", "plotext>=5.3.2", "pygal>=3.1.0", ] [project.scripts] argenta = "argenta._cli.__main__:main" [tool.ruff] line-length=100 [tool.pyright] typeCheckingMode = "strict" reportMissingTypeStubs = false [[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.scriv] format = "md" output_file = "CHANGELOG.md" fragment_directory = "changelog.d" categories = [ "Added", "Changed", "Deprecated", "Removed", "Fixed", ] md_header_level = "2" [tool.mypy] disable_error_code = "import-untyped" [tool.isort] line_length=90 [build-system] requires = ["uv_build"] build-backend = "uv_build"