From 4e489c4ccb1a5f8b4d0a7842076c1f9653b02632 Mon Sep 17 00:00:00 2001 From: Ivan Shymko Date: Fri, 13 Mar 2026 08:52:41 +0000 Subject: [PATCH] WIP --- pyproject.toml | 10 +---- uv.lock | 112 +++++++------------------------------------------ 2 files changed, 16 insertions(+), 106 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index c57824ae..58d88237 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "a2a-sdk" -dynamic = ["version"] +version = "0.3.25" description = "A2A Python SDK" readme = "README.md" license = "Apache-2.0" @@ -62,7 +62,7 @@ changelog = "https://github.com/a2aproject/a2a-python/blob/main/CHANGELOG.md" documentation = "https://a2a-protocol.org/latest/sdk/python/" [build-system] -requires = ["hatchling", "uv-dynamic-versioning", "hatch-build-scripts"] +requires = ["hatchling", "hatch-build-scripts"] build-backend = "hatchling.build" [tool.hatch.build.hooks.build-scripts] @@ -72,8 +72,6 @@ artifacts = ["src/a2a/types/a2a.json"] commands = ["bash scripts/gen_proto.sh"] work_dir = "." -[tool.hatch.version] -source = "uv-dynamic-versioning" [tool.hatch.build.targets.wheel] packages = ["src/a2a"] @@ -104,9 +102,6 @@ filterwarnings = [ [tool.pytest-asyncio] mode = "strict" -[tool.uv-dynamic-versioning] -vcs = "git" -style = "pep440" [dependency-groups] dev = [ @@ -119,7 +114,6 @@ dev = [ "pytest-xdist>=3.6.1", "respx>=0.20.2", "ruff>=0.12.8", - "uv-dynamic-versioning>=0.8.2", "types-protobuf", "types-requests", "pre-commit", diff --git a/uv.lock b/uv.lock index bfcde562..5287ab9f 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.10" resolution-markers = [ "python_full_version >= '3.14'", @@ -10,6 +10,7 @@ resolution-markers = [ [[package]] name = "a2a-sdk" +version = "0.3.25" source = { editable = "." } dependencies = [ { name = "google-api-core" }, @@ -99,56 +100,45 @@ dev = [ { name = "trio" }, { name = "types-protobuf" }, { name = "types-requests" }, - { name = "uv-dynamic-versioning" }, { name = "uvicorn" }, ] [package.metadata] requires-dist = [ - { name = "alembic", marker = "extra == 'all'", specifier = ">=1.14.0" }, + { name = "a2a-sdk", extras = ["db-cli"], marker = "extra == 'all'", editable = "." }, + { name = "a2a-sdk", extras = ["encryption"], marker = "extra == 'all'", editable = "." }, + { name = "a2a-sdk", extras = ["grpc"], marker = "extra == 'all'", editable = "." }, + { name = "a2a-sdk", extras = ["http-server"], marker = "extra == 'all'", editable = "." }, + { name = "a2a-sdk", extras = ["postgresql", "mysql", "sqlite"], marker = "extra == 'sql'", editable = "." }, + { name = "a2a-sdk", extras = ["signing"], marker = "extra == 'all'", editable = "." }, + { name = "a2a-sdk", extras = ["sql"], marker = "extra == 'all'", editable = "." }, + { name = "a2a-sdk", extras = ["telemetry"], marker = "extra == 'all'", editable = "." }, + { name = "a2a-sdk", extras = ["vertex"], marker = "extra == 'all'", editable = "." }, { name = "alembic", marker = "extra == 'db-cli'", specifier = ">=1.14.0" }, - { name = "cryptography", marker = "extra == 'all'", specifier = ">=43.0.0" }, { name = "cryptography", marker = "extra == 'encryption'", specifier = ">=43.0.0" }, - { name = "fastapi", marker = "extra == 'all'", specifier = ">=0.115.2" }, { name = "fastapi", marker = "extra == 'http-server'", specifier = ">=0.115.2" }, { name = "google-api-core", specifier = ">=1.26.0" }, - { name = "google-cloud-aiplatform", marker = "extra == 'all'", specifier = ">=1.140.0" }, { name = "google-cloud-aiplatform", marker = "extra == 'vertex'", specifier = ">=1.140.0" }, { name = "googleapis-common-protos", specifier = ">=1.70.0" }, - { name = "grpcio", marker = "extra == 'all'", specifier = ">=1.60" }, { name = "grpcio", marker = "extra == 'grpc'", specifier = ">=1.60" }, - { name = "grpcio-reflection", marker = "extra == 'all'", specifier = ">=1.7.0" }, { name = "grpcio-reflection", marker = "extra == 'grpc'", specifier = ">=1.7.0" }, - { name = "grpcio-status", marker = "extra == 'all'", specifier = ">=1.60" }, { name = "grpcio-status", marker = "extra == 'grpc'", specifier = ">=1.60" }, - { name = "grpcio-tools", marker = "extra == 'all'", specifier = ">=1.60" }, { name = "grpcio-tools", marker = "extra == 'grpc'", specifier = ">=1.60" }, { name = "httpx", specifier = ">=0.28.1" }, { name = "httpx-sse", specifier = ">=0.4.0" }, { name = "json-rpc", specifier = ">=1.15.0" }, - { name = "opentelemetry-api", marker = "extra == 'all'", specifier = ">=1.33.0" }, { name = "opentelemetry-api", marker = "extra == 'telemetry'", specifier = ">=1.33.0" }, - { name = "opentelemetry-sdk", marker = "extra == 'all'", specifier = ">=1.33.0" }, { name = "opentelemetry-sdk", marker = "extra == 'telemetry'", specifier = ">=1.33.0" }, { name = "protobuf", specifier = ">=5.29.5" }, { name = "pydantic", specifier = ">=2.11.3" }, - { name = "pyjwt", marker = "extra == 'all'", specifier = ">=2.0.0" }, { name = "pyjwt", marker = "extra == 'signing'", specifier = ">=2.0.0" }, - { name = "sqlalchemy", extras = ["aiomysql", "asyncio"], marker = "extra == 'all'", specifier = ">=2.0.0" }, - { name = "sqlalchemy", extras = ["aiomysql", "asyncio"], marker = "extra == 'mysql'", specifier = ">=2.0.0" }, - { name = "sqlalchemy", extras = ["aiomysql", "asyncio"], marker = "extra == 'sql'", specifier = ">=2.0.0" }, - { name = "sqlalchemy", extras = ["aiosqlite", "asyncio"], marker = "extra == 'all'", specifier = ">=2.0.0" }, - { name = "sqlalchemy", extras = ["aiosqlite", "asyncio"], marker = "extra == 'sql'", specifier = ">=2.0.0" }, - { name = "sqlalchemy", extras = ["aiosqlite", "asyncio"], marker = "extra == 'sqlite'", specifier = ">=2.0.0" }, - { name = "sqlalchemy", extras = ["asyncio", "postgresql-asyncpg"], marker = "extra == 'all'", specifier = ">=2.0.0" }, + { name = "sqlalchemy", extras = ["asyncio", "aiomysql"], marker = "extra == 'mysql'", specifier = ">=2.0.0" }, + { name = "sqlalchemy", extras = ["asyncio", "aiosqlite"], marker = "extra == 'sqlite'", specifier = ">=2.0.0" }, { name = "sqlalchemy", extras = ["asyncio", "postgresql-asyncpg"], marker = "extra == 'postgresql'", specifier = ">=2.0.0" }, - { name = "sqlalchemy", extras = ["asyncio", "postgresql-asyncpg"], marker = "extra == 'sql'", specifier = ">=2.0.0" }, - { name = "sse-starlette", marker = "extra == 'all'" }, { name = "sse-starlette", marker = "extra == 'http-server'" }, - { name = "starlette", marker = "extra == 'all'" }, { name = "starlette", marker = "extra == 'http-server'" }, ] -provides-extras = ["all", "db-cli", "encryption", "grpc", "http-server", "mysql", "postgresql", "signing", "sql", "sqlite", "telemetry", "vertex"] +provides-extras = ["http-server", "encryption", "grpc", "telemetry", "postgresql", "mysql", "signing", "sqlite", "db-cli", "vertex", "sql", "all"] [package.metadata.requires-dev] dev = [ @@ -171,7 +161,6 @@ dev = [ { name = "trio" }, { name = "types-protobuf" }, { name = "types-requests" }, - { name = "uv-dynamic-versioning", specifier = ">=0.8.2" }, { name = "uvicorn", specifier = ">=0.35.0" }, ] @@ -757,18 +746,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/55/e2/2537ebcff11c1ee1ff17d8d0b6f4db75873e3b0fb32c2d4a2ee31ecb310a/docstring_parser-0.17.0-py3-none-any.whl", hash = "sha256:cf2569abd23dce8099b300f9b4fa8191e9582dda731fd533daf54c4551658708", size = 36896, upload-time = "2025-07-21T07:35:00.684Z" }, ] -[[package]] -name = "dunamai" -version = "1.26.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "packaging" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/1c/c4/346cef905782df6152f29f02d9c8ed4acf7ae66b0e66210b7156c5575ccb/dunamai-1.26.0.tar.gz", hash = "sha256:5396ac43aa20ed059040034e9f9798c7464cf4334c6fc3da3732e29273a2f97d", size = 45500, upload-time = "2026-02-15T02:58:55.534Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/87/10/2c7edbf230e5c507d38367af498fa94258ed97205d9b4b6f63a921fe9c49/dunamai-1.26.0-py3-none-any.whl", hash = "sha256:f584edf0fda0d308cce0961f807bc90a8fe3d9ff4d62f94e72eca7b43f0ed5f6", size = 27322, upload-time = "2026-02-15T02:58:54.143Z" }, -] - [[package]] name = "exceptiongroup" version = "1.3.1" @@ -1263,22 +1240,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, ] -[[package]] -name = "hatchling" -version = "1.29.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "packaging" }, - { name = "pathspec" }, - { name = "pluggy" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, - { name = "trove-classifiers" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/cf/9c/b4cfe330cd4f49cff17fd771154730555fa4123beb7f292cf0098b4e6c20/hatchling-1.29.0.tar.gz", hash = "sha256:793c31816d952cee405b83488ce001c719f325d9cda69f1fc4cd750527640ea6", size = 55656, upload-time = "2026-02-23T19:42:06.539Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d3/8a/44032265776062a89171285ede55a0bdaadc8ac00f27f0512a71a9e3e1c8/hatchling-1.29.0-py3-none-any.whl", hash = "sha256:50af9343281f34785fab12da82e445ed987a6efb34fd8c2fc0f6e6630dbcc1b0", size = 76356, upload-time = "2026-02-23T19:42:05.197Z" }, -] - [[package]] name = "httpcore" version = "1.0.9" @@ -1355,18 +1316,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, ] -[[package]] -name = "jinja2" -version = "3.1.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markupsafe" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, -] - [[package]] name = "json-rpc" version = "1.15.0" @@ -2529,15 +2478,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/23/d1/136eb2cb77520a31e1f64cbae9d33ec6df0d78bdf4160398e86eec8a8754/tomli-2.4.0-py3-none-any.whl", hash = "sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", size = 14477, upload-time = "2026-01-11T11:22:37.446Z" }, ] -[[package]] -name = "tomlkit" -version = "0.14.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c3/af/14b24e41977adb296d6bd1fb59402cf7d60ce364f90c890bd2ec65c43b5a/tomlkit-0.14.0.tar.gz", hash = "sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064", size = 187167, upload-time = "2026-01-13T01:14:53.304Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b5/11/87d6d29fb5d237229d67973a6c9e06e048f01cf4994dee194ab0ea841814/tomlkit-0.14.0-py3-none-any.whl", hash = "sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680", size = 39310, upload-time = "2026-01-13T01:14:51.965Z" }, -] - [[package]] name = "trio" version = "0.33.0" @@ -2556,15 +2496,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1c/93/dab25dc87ac48da0fe0f6419e07d0bfd98799bed4e05e7b9e0f85a1a4b4b/trio-0.33.0-py3-none-any.whl", hash = "sha256:3bd5d87f781d9b0192d592aef28691f8951d6c2e41b7e1da4c25cde6c180ae9b", size = 510294, upload-time = "2026-02-14T18:40:53.313Z" }, ] -[[package]] -name = "trove-classifiers" -version = "2026.1.14.14" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/43/7935f8ea93fcb6680bc10a6fdbf534075c198eeead59150dd5ed68449642/trove_classifiers-2026.1.14.14.tar.gz", hash = "sha256:00492545a1402b09d4858605ba190ea33243d361e2b01c9c296ce06b5c3325f3", size = 16997, upload-time = "2026-01-14T14:54:50.526Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bb/4a/2e5583e544bc437d5e8e54b47db87430df9031b29b48d17f26d129fa60c0/trove_classifiers-2026.1.14.14-py3-none-any.whl", hash = "sha256:1f9553927f18d0513d8e5ff80ab8980b8202ce37ecae0e3274ed2ef11880e74d", size = 14197, upload-time = "2026-01-14T14:54:49.067Z" }, -] - [[package]] name = "types-protobuf" version = "6.32.1.20260221" @@ -2616,21 +2547,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, ] -[[package]] -name = "uv-dynamic-versioning" -version = "0.13.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "dunamai" }, - { name = "hatchling" }, - { name = "jinja2" }, - { name = "tomlkit" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/24/b7/46e3106071b85016237f6de589e99f614565d10a16af17b374d003272076/uv_dynamic_versioning-0.13.0.tar.gz", hash = "sha256:3220cbf10987d862d78e9931957782a274fa438d33efb1fa26b8155353749e06", size = 38797, upload-time = "2026-01-19T09:45:33.366Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/28/4f/15d9ec8aaed4a78aca1b8f0368f0cdd3cca8a04a81edbf03bc9e12c1a188/uv_dynamic_versioning-0.13.0-py3-none-any.whl", hash = "sha256:86d37b89fa2b6836a515301f74ea2d56a1bc59a46a74d66a24c869d1fc8f7585", size = 11480, upload-time = "2026-01-19T09:45:32.002Z" }, -] - [[package]] name = "uvicorn" version = "0.41.0"