@@ -6,55 +6,32 @@ authors = [
66 {name = " Adrien Vannson" , email = " adrien.vannson@protonmail.com" },
77 {name = " Daniel G. Taylor" , email = " danielgtaylor@gmail.com" }
88]
9- readme = " README.md"
9+ # readme = "../ README.md"
1010keywords = [" protobuf" , " gRPC" ]
1111license = " MIT"
1212requires-python = " >=3.10,<4.0"
13- dynamic = [" dependencies" ]
13+ dependencies = [
14+ " python-dateutil>=2.9.0.post0" ,
15+ " typing-extensions>=4.14.0" ,
16+ ]
1417
1518[project .urls ]
1619Documentation = " https://betterproto.github.io/python-betterproto2/"
1720Repository = " https://github.com/betterproto/python-betterproto2"
1821
1922[project .optional-dependencies ]
20- rust-codec = [" betterproto2-rust-codec" ]
21- grpcio = [" grpcio" ]
22- grpclib = [" grpclib" ]
23-
24- # betterproto2-rust-codec is not included because still experimental
25- all = [" grpclib" , " grpcio" ]
23+ grpcio = [" grpcio>=1.72.1" ]
24+ grpclib = [" grpclib>=0.4.8" ]
25+ pydantic = [" pydantic>=2.11.5" ]
26+ all = [" grpclib>=0.4.8" , " grpcio>=1.72.1" , " pydantic>=2.11.5" ]
2627
27- [tool .poetry ]
28- packages = [
29- { include = " betterproto2" , from = " src" }
30- ]
28+ [tool .uv ]
29+ package = true
3130
32- [tool .poetry .dependencies ]
33- grpclib = { version = " ^0.4.1" , optional = true }
34- grpcio = { version = " ^1.71.0" , optional = true }
35- python-dateutil = " ^2.8"
36- typing-extensions = " ^4.7.1"
37- betterproto2-rust-codec = { version = " ^0.1.2" , optional = true }
38-
39- [tool .poetry .group .dev .dependencies ]
40- mypy = " ^1.11.2"
41- pre-commit = " ^2.17.0"
42- mkdocs-material = {version = " ^9.5.49" , python = " >=3.10" }
43- mkdocstrings = {version = " ^0.27.0" , python = " >=3.10" , extras = [" python" ]}
44- # The Ruff version is pinned. To update it, also update it in .pre-commit-config.yaml
45- ruff = { version = " ~0.9.3" }
46- ipykernel = " ^6.29.5"
47- pyright = " ^1.1.392"
48-
49- [tool .poetry .group .test .dependencies ]
50- poethepoet = " >=0.9.0"
51- pytest = " ^6.2.5"
52- pytest-asyncio = " ^0.12.0"
53- pytest-cov = " ^2.9.0"
54- pytest-mock = " ^3.1.1"
55- pydantic = " >=2.0,<3"
56- protobuf = " ^5.29.3"
57- cachelib = " ^0.10.2"
31+ # [tool.poetry]
32+ # packages = [
33+ # { include = "betterproto2", from = "src" }
34+ # ]
5835
5936[tool .ruff ]
6037extend-exclude = [" tests/output_*" , " src/betterproto2/internal_lib" ]
@@ -152,5 +129,26 @@ cmd = "mkdocs serve"
152129help = " Serve the documentation locally"
153130
154131[build-system ]
155- requires = [" poetry-core>=2.0.0,<3" ]
156- build-backend = " poetry.core.masonry.api"
132+ requires = [" hatchling" ]
133+ build-backend = " hatchling.build"
134+
135+ [dependency-groups ]
136+ dev = [
137+ " ipykernel>=6.29.5" ,
138+ " mkdocs-material>=9.6.14" ,
139+ " mkdocstrings[python]>=0.29.1" ,
140+ " mypy>=1.16.0" ,
141+ " pre-commit>=4.2.0" ,
142+ " pyright>=1.1.401" ,
143+ # The Ruff version is pinned. To update it, also update it in .pre-commit-config.yaml
144+ " ruff==0.9.3" ,
145+ ]
146+ test = [
147+ " cachelib>=0.13.0" ,
148+ " poethepoet>=0.34.0" ,
149+ " protobuf>=5.29.3" ,
150+ " pytest>=8.4.0" ,
151+ " pytest-asyncio>=1.0.0" ,
152+ " pytest-cov>=6.1.1" ,
153+ " pytest-mock>=3.14.1" ,
154+ ]
0 commit comments