httpxgen 0.1.0__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. {httpxgen-0.1.0 → httpxgen-0.3.0}/.github/workflows/ci.yml +68 -64
  2. httpxgen-0.3.0/PKG-INFO +691 -0
  3. httpxgen-0.3.0/README.md +679 -0
  4. httpxgen-0.3.0/changelog.md +298 -0
  5. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/cli.py +16 -0
  6. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/generator/build.py +222 -162
  7. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/generator/client.py +400 -82
  8. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/generator/models.py +144 -27
  9. httpxgen-0.3.0/httpxgen/generator/naming.py +97 -0
  10. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/generator/normalize.py +692 -665
  11. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/generator/operations.py +350 -22
  12. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/generator/package.py +279 -202
  13. httpxgen-0.3.0/httpxgen/generator/schema.py +226 -0
  14. httpxgen-0.3.0/httpxgen/generator/templates/binary_operation.jinja2 +51 -0
  15. httpxgen-0.3.0/httpxgen/generator/templates/client.jinja2 +29 -0
  16. httpxgen-0.3.0/httpxgen/generator/templates/enum.jinja2 +2 -0
  17. httpxgen-0.3.0/httpxgen/generator/templates/exceptions.jinja2 +81 -0
  18. httpxgen-0.3.0/httpxgen/generator/templates/generated_header.jinja2 +3 -0
  19. httpxgen-0.3.0/httpxgen/generator/templates/http_methods.jinja2 +12 -0
  20. httpxgen-0.3.0/httpxgen/generator/templates/model.jinja2 +9 -0
  21. httpxgen-0.3.0/httpxgen/generator/templates/models.jinja2 +6 -0
  22. httpxgen-0.3.0/httpxgen/generator/templates/operation.jinja2 +33 -0
  23. httpxgen-0.3.0/httpxgen/generator/templates/package_init.jinja2 +5 -0
  24. httpxgen-0.3.0/httpxgen/generator/templates/serialization.jinja2 +287 -0
  25. httpxgen-0.3.0/httpxgen/generator/templates/shared_init.jinja2 +67 -0
  26. httpxgen-0.3.0/httpxgen/generator/templates/transport.jinja2 +155 -0
  27. httpxgen-0.3.0/httpxgen/generator/templates.py +42 -0
  28. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/openapi.py +118 -117
  29. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/output.py +48 -4
  30. httpxgen-0.3.0/httpxgen/references.py +149 -0
  31. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/selection.py +66 -50
  32. {httpxgen-0.1.0 → httpxgen-0.3.0}/preview/__init__.py +10 -1
  33. httpxgen-0.3.0/preview/invoices/client.py +271 -0
  34. httpxgen-0.3.0/preview/payments/client.py +676 -0
  35. {httpxgen-0.1.0 → httpxgen-0.3.0}/preview/payments/models.py +21 -7
  36. httpxgen-0.3.0/preview/shared/__init__.py +72 -0
  37. httpxgen-0.3.0/preview/shared/exceptions.py +86 -0
  38. httpxgen-0.3.0/preview/shared/serialization.py +294 -0
  39. httpxgen-0.3.0/preview/shared/transport.py +162 -0
  40. {httpxgen-0.1.0 → httpxgen-0.3.0}/pyproject.toml +2 -1
  41. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/generator/test_build.py +56 -2
  42. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/generator/test_client.py +10 -8
  43. httpxgen-0.3.0/tests/generator/test_improvements.py +351 -0
  44. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/generator/test_normalize.py +3 -5
  45. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/generator/test_operations.py +1 -1
  46. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/generator/test_package.py +2 -2
  47. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/generator/test_runtime.py +1 -3
  48. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/generator/test_schema.py +94 -92
  49. httpxgen-0.3.0/tests/generator/test_tickets.py +2634 -0
  50. httpxgen-0.3.0/tests/generator/test_typing.py +114 -0
  51. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/test_cli.py +25 -1
  52. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/test_output.py +49 -0
  53. {httpxgen-0.1.0 → httpxgen-0.3.0}/uv.lock +546 -546
  54. httpxgen-0.1.0/PKG-INFO +0 -445
  55. httpxgen-0.1.0/README.md +0 -433
  56. httpxgen-0.1.0/httpxgen/generator/naming.py +0 -40
  57. httpxgen-0.1.0/httpxgen/generator/schema.py +0 -142
  58. httpxgen-0.1.0/httpxgen/generator/templates.py +0 -332
  59. httpxgen-0.1.0/preview/invoices/client.py +0 -184
  60. httpxgen-0.1.0/preview/payments/client.py +0 -432
  61. httpxgen-0.1.0/preview/shared/__init__.py +0 -28
  62. httpxgen-0.1.0/preview/shared/exceptions.py +0 -20
  63. httpxgen-0.1.0/preview/shared/serialization.py +0 -137
  64. {httpxgen-0.1.0 → httpxgen-0.3.0}/.gitignore +0 -0
  65. {httpxgen-0.1.0 → httpxgen-0.3.0}/.python-version +0 -0
  66. {httpxgen-0.1.0 → httpxgen-0.3.0}/CLAUDE.md +0 -0
  67. {httpxgen-0.1.0 → httpxgen-0.3.0}/LICENSE +0 -0
  68. {httpxgen-0.1.0 → httpxgen-0.3.0}/VISION.md +0 -0
  69. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/__init__.py +0 -0
  70. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/generator/__init__.py +0 -0
  71. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/generator/errors.py +0 -0
  72. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/io.py +0 -0
  73. {httpxgen-0.1.0 → httpxgen-0.3.0}/httpxgen/loading.py +0 -0
  74. {httpxgen-0.1.0 → httpxgen-0.3.0}/preview/invoices/__init__.py +0 -0
  75. {httpxgen-0.1.0 → httpxgen-0.3.0}/preview/invoices/models.py +0 -0
  76. {httpxgen-0.1.0 → httpxgen-0.3.0}/preview/payments/__init__.py +0 -0
  77. {httpxgen-0.1.0 → httpxgen-0.3.0}/preview/py.typed +0 -0
  78. {httpxgen-0.1.0 → httpxgen-0.3.0}/preview/shared/http_methods.py +0 -0
  79. {httpxgen-0.1.0 → httpxgen-0.3.0}/preview/shared/models.py +0 -0
  80. {httpxgen-0.1.0 → httpxgen-0.3.0}/scripts/generate-preview.sh +0 -0
  81. {httpxgen-0.1.0 → httpxgen-0.3.0}/specs/api.yml +0 -0
  82. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/conftest.py +0 -0
  83. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/generator/test_models.py +0 -0
  84. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/generator/test_naming.py +0 -0
  85. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/test_loading.py +0 -0
  86. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/test_openapi.py +0 -0
  87. {httpxgen-0.1.0 → httpxgen-0.3.0}/tests/test_selection.py +0 -0
@@ -1,64 +1,68 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [main]
6
- pull_request:
7
-
8
- jobs:
9
- lint:
10
- runs-on: ubuntu-latest
11
- steps:
12
- - uses: actions/checkout@v4
13
-
14
- - name: Install uv
15
- uses: astral-sh/setup-uv@v4
16
- with:
17
- python-version: "3.14"
18
-
19
- - name: Install dependencies
20
- run: uv sync --all-groups
21
-
22
- - name: Ruff lint
23
- run: uv run ruff check --output-format=github .
24
-
25
- - name: Ruff format
26
- run: uv run ruff format --check .
27
-
28
- preview:
29
- runs-on: ubuntu-latest
30
- steps:
31
- - uses: actions/checkout@v4
32
-
33
- - name: Install uv
34
- uses: astral-sh/setup-uv@v4
35
- with:
36
- python-version: "3.14"
37
-
38
- - name: Install dependencies
39
- run: uv sync --all-groups
40
-
41
- - name: Regenerate the preview client
42
- run: bash scripts/generate-preview.sh
43
-
44
- - name: Fail if the checked-in preview is stale
45
- run: git diff --exit-code -- preview
46
-
47
- test:
48
- runs-on: ubuntu-latest
49
- strategy:
50
- matrix:
51
- python-version: ["3.12", "3.13", "3.14"]
52
- steps:
53
- - uses: actions/checkout@v4
54
-
55
- - name: Install uv
56
- uses: astral-sh/setup-uv@v4
57
- with:
58
- python-version: ${{ matrix.python-version }}
59
-
60
- - name: Install dependencies
61
- run: uv sync --all-groups
62
-
63
- - name: Run tests
64
- run: uv run pytest
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+
8
+ jobs:
9
+ lint:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+
14
+ - name: Install uv
15
+ uses: astral-sh/setup-uv@v4
16
+ with:
17
+ python-version: "3.14"
18
+
19
+ - name: Install dependencies
20
+ run: uv sync --locked --all-groups
21
+
22
+ - name: Ruff lint
23
+ run: uv run ruff check --output-format=github .
24
+
25
+ - name: Ruff format
26
+ run: uv run ruff format --check .
27
+
28
+ preview:
29
+ runs-on: ubuntu-latest
30
+ steps:
31
+ - uses: actions/checkout@v4
32
+
33
+ - name: Install uv
34
+ uses: astral-sh/setup-uv@v4
35
+ with:
36
+ python-version: "3.14"
37
+
38
+ - name: Install dependencies
39
+ run: uv sync --locked --all-groups
40
+
41
+ - name: Regenerate the preview client
42
+ run: bash scripts/generate-preview.sh
43
+
44
+ - name: Fail if the checked-in preview is stale
45
+ run: git diff --exit-code -- preview
46
+
47
+ test:
48
+ runs-on: ubuntu-latest
49
+ strategy:
50
+ matrix:
51
+ python-version: ["3.12", "3.13", "3.14"]
52
+ steps:
53
+ - uses: actions/checkout@v4
54
+
55
+ - name: Install uv
56
+ uses: astral-sh/setup-uv@v4
57
+ with:
58
+ python-version: ${{ matrix.python-version }}
59
+
60
+ - name: Install dependencies
61
+ run: uv sync --locked --all-groups
62
+
63
+ - name: Run tests
64
+ run: uv run pytest
65
+
66
+ - name: Type-check generated protocols
67
+ if: matrix.python-version == '3.14'
68
+ run: uv run --frozen --with mypy==2.4.0 --with httpx2==2.13.1 pytest --no-cov tests/generator/test_typing.py