[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "agravity-client" version = "0.2.0" description = "Pythonic, Pydantic-driven async REST client for the Agravity DAM API (v10.3.0)." readme = "README.md" requires-python = ">=3.10" license = { text = "MIT" } keywords = ["agravity", "dam", "rest", "api", "client", "pydantic", "httpx"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries :: Python Modules", "Typing :: Typed", ] dependencies = [ "httpx>=0.27", "pydantic>=2.6", "pydantic-settings>=2.2", ] [project.optional-dependencies] dev = [ "pytest>=8.1", "pytest-asyncio>=0.23", "pytest-httpx>=0.30", "ruff>=0.4", "mypy>=1.10", ] [tool.hatch.build.targets.wheel] packages = ["agravity_client"] # --------------------------------------------------------------------------- # Ruff # --------------------------------------------------------------------------- [tool.ruff] target-version = "3.10" line-length = 100 [tool.ruff.lint] select = ["E", "F", "I", "N", "UP", "ANN", "B", "C4", "T20"] ignore = [ "ANN101", # missing type annotation for self "ANN102", # missing type annotation for cls "ANN401", # Dynamically typed expressions (Any) are disallowed ] # --------------------------------------------------------------------------- # mypy # --------------------------------------------------------------------------- [tool.mypy] python_version = "3.10" strict = true ignore_missing_imports = true # --------------------------------------------------------------------------- # pytest # --------------------------------------------------------------------------- [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"]