[build-system] requires = ["hatchling>=1.24"] build-backend = "hatchling.build" [project] name = "platform-common" version = "0.1.0" description = "Shared infrastructure plumbing for platform agents: job store, LangGraph checkpointer, blob store, leader lease." readme = "README.md" requires-python = ">=3.12" license = { text = "Proprietary" } authors = [{ name = "Platform Engineering" }] keywords = ["platform", "agents", "redis", "langgraph", "kubernetes"] classifiers = [ "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Operating System :: OS Independent", "Typing :: Typed", ] dependencies = [] [project.optional-dependencies] redis = ["redis>=5.0,<6"] azure-blob = ["azure-storage-blob>=12.19", "azure-identity>=1.15"] langgraph = [ "langgraph>=0.2", "langgraph-checkpoint-redis>=0.1", "langgraph-checkpoint-postgres>=2.0", ] k8s = ["kubernetes>=29.0"] testing = ["pytest>=8", "pytest-asyncio>=0.23", "fakeredis>=2.21"] dev = [ "platform-common[redis,azure-blob,langgraph,k8s,testing]", "ruff>=0.5", "mypy>=1.10", "build>=1.2", "twine>=5", ] [project.urls] Repository = "https://gitea.kyndemo.live/platform/platform-common-libraries" Changelog = "https://gitea.kyndemo.live/platform/platform-common-libraries/src/branch/main/CHANGELOG.md" [tool.hatch.build.targets.wheel] packages = ["src/platform_common"] [tool.hatch.build.targets.sdist] include = ["src/platform_common", "README.md", "CHANGELOG.md", "LICENSE"] [tool.ruff] line-length = 100 target-version = "py312" src = ["src", "tests"] [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "SIM", "PL", "RUF"] ignore = ["PLR0913"] [tool.ruff.lint.per-file-ignores] "tests/*" = ["PLR2004", "S101"] [tool.mypy] python_version = "3.12" strict = true files = ["src/platform_common"] warn_unused_configs = true [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] addopts = "-ra --strict-markers"