|
1 | | -[tool.poetry] |
| 1 | +[project] |
2 | 2 | name = "asyncapi-python" |
3 | 3 | version = "0.2.5" |
4 | | -license = "Apache-2.0" |
| 4 | +license = {text = "Apache-2.0"} |
5 | 5 | description = "Easily generate type-safe and async Python applications from AsyncAPI 3 specifications." |
6 | | -authors = ["Yaroslav Petrov <yaroslav.v.petrov@gmail.com>"] |
| 6 | +authors = [{name = "Yaroslav Petrov", email = "yaroslav.v.petrov@gmail.com"}] |
7 | 7 | readme = "README.md" |
8 | | -packages = [ |
9 | | - { include = "asyncapi_python_pants", from = "src" }, |
10 | | - { include = "asyncapi_python_codegen", from = "src" }, |
11 | | - { include = "asyncapi_python", from = "src" }, |
| 8 | +requires-python = ">=3.9,<3.14" |
| 9 | +dependencies = [ |
| 10 | + "pydantic>=2", |
| 11 | + "pytz", |
12 | 12 | ] |
13 | 13 |
|
14 | | -[tool.poetry.scripts] |
15 | | -asyncapi-python-codegen = "asyncapi_python_codegen:app" |
16 | | - |
17 | | -[tool.poetry.extras] |
| 14 | +[project.optional-dependencies] |
18 | 15 | codegen = [ |
19 | | - "jinja2", |
20 | | - "typer", |
21 | | - "asyncapi_python_codegen", |
| 16 | + "jinja2>=3.1.4", |
| 17 | + "typer[all]>=0.12.5", |
22 | 18 | "pyyaml", |
23 | | - "datamodel-code-generator", |
| 19 | + "datamodel-code-generator[http]>=0.26.4", |
24 | 20 | "black", |
25 | 21 | ] |
26 | 22 | amqp = ["aio-pika"] |
27 | 23 |
|
28 | | -[tool.poetry.dependencies] |
29 | | -python = ">=3.9,<3.14" |
30 | | -pydantic = ">=2" |
31 | | -pytz = "*" |
32 | | -jinja2 = { version = "^3.1.4", optional = true } |
33 | | -typer = { extras = ["all"], version = "^0.12.5", optional = true } |
34 | | -datamodel-code-generator = { extras = [ |
35 | | - "http", |
36 | | -], version = "^0.26.4", optional = true } |
37 | | -aio-pika = { version = "*", optional = true } |
38 | | -pyyaml = { version = "*", optional = true } |
39 | | -black = { version = "*", optional = true } |
| 24 | +[project.scripts] |
| 25 | +asyncapi-python-codegen = "asyncapi_python_codegen:app" |
40 | 26 |
|
41 | | -[tool.poetry.group.dev.dependencies] |
42 | | -black = "*" |
43 | | -mypy = "*" |
44 | | -isort = "*" |
45 | | -types-pyyaml = "*" |
46 | | -pytest = "*" |
47 | | -types-pytz = "*" |
48 | | -pytest-asyncio = "*" |
49 | | -pex = "*" |
| 27 | +[tool.uv] |
| 28 | +dev-dependencies = [ |
| 29 | + "black", |
| 30 | + "mypy", |
| 31 | + "isort", |
| 32 | + "types-pyyaml", |
| 33 | + "pytest", |
| 34 | + "types-pytz", |
| 35 | + "pytest-asyncio", |
| 36 | + "pex", |
| 37 | +] |
50 | 38 |
|
51 | 39 | [build-system] |
52 | | -requires = ["poetry-core"] |
53 | | -build-backend = "poetry.core.masonry.api" |
| 40 | +requires = ["hatchling"] |
| 41 | +build-backend = "hatchling.build" |
54 | 42 |
|
55 | | -[tool.poetry.requires-plugins] |
56 | | -poetry-plugin-export = ">=1.8" |
| 43 | +[tool.hatch.build.targets.wheel] |
| 44 | +packages = [ |
| 45 | + "src/asyncapi_python_pants", |
| 46 | + "src/asyncapi_python_codegen", |
| 47 | + "src/asyncapi_python", |
| 48 | +] |
57 | 49 |
|
58 | 50 | [tool.pytest.ini_options] |
59 | 51 | asyncio_mode = "auto" |
|
0 commit comments