Skip to content

Commit 2cedac9

Browse files
committed
feat!: regenerate the SDK from the enhanced generator
Regenerate the client from openapi-generator-plus with modernized templates, authenticators ported to the new interfaces, and house tooling aligned to the generator's output. BREAKING CHANGE: new generated API surface, a raised minimum runtime, and updated dependencies; not source-compatible with the prior release.
1 parent eea3fac commit 2cedac9

1,472 files changed

Lines changed: 82126 additions & 165136 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ root = true
33
[*]
44
charset = utf-8
55
indent_style = space
6-
indent_size = 2
76
end_of_line = lf
87
trim_trailing_whitespace = true
98
insert_final_newline = true
10-
max_line_length = 120
119

1210
[*.py]
13-
indent_size = 4
11+
indent_size = 4

.github/workflows/integration.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
runs-on: ubuntu-latest
2020
strategy:
2121
matrix:
22-
python-version: [ '3.10', '3.11', '3.12', '3.13' ]
22+
python-version: [ '3.13' ]
2323
fail-fast: false
2424

2525
steps:

.github/workflows/linting.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
- name: Setup uv
4040
uses: astral-sh/setup-uv@v4
4141
with:
42-
python-version: "3.10"
42+
python-version: "3.13"
4343

4444
- name: Install dependencies
4545
run: uv sync --group dev --frozen

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
- name: Setup uv
4040
uses: astral-sh/setup-uv@v4
4141
with:
42-
python-version: "3.10"
42+
python-version: "3.13"
4343

4444
- name: Install dependencies
4545
run: uv sync --group dev --frozen

.github/workflows/test.yml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,34 +30,43 @@ jobs:
3030
- name: Setup uv
3131
uses: astral-sh/setup-uv@v4
3232
with:
33-
python-version: "3.10"
33+
python-version: "3.13"
3434

3535
- name: Install dependencies
3636
run: uv sync --group dev --frozen
3737

3838
- name: Run Tests
39-
run: uv run pytest --junitxml=build/reports/junit.xml
39+
run: uv run pytest
4040

4141
- name: Generate coverage report
4242
uses: mridang/action-test-reporter@v1
4343
if: always()
4444
with:
4545
github-token: ${{ secrets.GITHUB_TOKEN }}
46-
coverage-file: 'build/coverage/clover.xml'
46+
coverage-file: '.out/coverage.xml'
4747

4848
- name: Upload Results
4949
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
5050
if: always()
5151
with:
5252
name: test-results
53-
path: build/reports/junit.xml
53+
path: .out/reports/junit.xml
54+
overwrite: true
55+
56+
- name: Upload Coverage
57+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
58+
if: always()
59+
with:
60+
name: test-coverage
61+
path: .out/coverage.xml
62+
overwrite: true
5463

5564
- name: Generate Report
5665
if: ${{ always() && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }}
5766
uses: dorny/test-reporter@6e6a65b7a0bd2c9197df7d0ae36ac5cee784230c # v2.0.0
5867
with:
5968
name: Tests
60-
path: build/reports/junit.xml
69+
path: .out/reports/junit.xml
6170
reporter: java-junit
6271
fail-on-error: 'false'
6372
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/typecheck.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ jobs:
3333
- name: Setup uv
3434
uses: astral-sh/setup-uv@v4
3535
with:
36-
python-version: "3.10"
36+
python-version: "3.13"
3737

3838
- name: Install dependencies
3939
run: uv sync --group dev --frozen
4040

41-
- name: Run Ty
42-
run: uv run ty check
41+
- name: Run Mypy
42+
run: uv run mypy zitadel_client

.github/workflows/unused.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- name: Setup uv
3333
uses: astral-sh/setup-uv@v4
3434
with:
35-
python-version: "3.10"
35+
python-version: "3.13"
3636

3737
- name: Install dependencies
3838
run: uv sync --group dev --frozen

.gitignore

Lines changed: 17 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,28 @@
1-
# Byte-compiled / optimized / DLL files
1+
# Python cache
22
__pycache__/
33
*.py[cod]
44
*$py.class
55

6-
# C extensions
7-
*.so
6+
# Tool caches
7+
.pytest/
8+
.mypy/
9+
.mypy_cache/
10+
.ruff/
11+
.ruff_cache/
812

9-
# Distribution / packaging
10-
.Python
11-
env/
12-
build/
13-
develop-eggs/
14-
dist/
15-
downloads/
16-
eggs/
17-
.eggs/
18-
lib/
19-
lib64/
20-
parts/
21-
sdist/
22-
var/
23-
*.egg-info/
24-
.installed.cfg
25-
*.egg
26-
27-
# PyInstaller
28-
# Usually these files are written by a python script from a template
29-
# before PyInstaller builds the exe, so as to inject date/other infos into it.
30-
*.manifest
31-
*.spec
32-
33-
# Installer logs
34-
pip-log.txt
35-
pip-delete-this-directory.txt
36-
37-
# Unit test / coverage reports
38-
htmlcov/
39-
.tox/
40-
.coverage
41-
.coverage.*
42-
.cache
43-
.uv/
44-
nosetests.xml
45-
coverage.xml
46-
*,cover
47-
.hypothesis/
13+
# Virtual environment
4814
venv/
4915
.venv/
50-
.python-version
51-
.pytest
52-
53-
# Translations
54-
*.mo
55-
*.pot
56-
57-
# Django stuff:
58-
*.log
5916

60-
# Sphinx documentation
61-
docs/_build/
62-
63-
# PyBuilder
64-
target/
17+
# Build output
18+
dist/
19+
build/
20+
*.egg-info/
6521

66-
#Ipython Notebook
67-
.ipynb_checkpoints
22+
# Coverage output
23+
.out/
24+
.coverage
6825

26+
# integration-test stack output (PAT, service-account key) — never commit
27+
etc/zitadel_output/
6928
.env
70-
71-
devbox.json
72-
devbox.lock
73-
.devbox
74-
75-
.uv
76-
77-
.ruff
78-
.ty

.openapi-generator-ignore

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Keep-list: files the generator must NOT overwrite, and the Makefile's
2+
# `prune` step must NOT delete. Everything else is generator-owned.
3+
4+
# --- bespoke token-minting authenticators (ported onto the new
5+
# Authenticator / HttpAwareAuthenticator interfaces) ---
6+
zitadel_client/auth/oauth_authenticator.py
7+
zitadel_client/auth/open_id.py
8+
zitadel_client/auth/client_credentials_authenticator.py
9+
zitadel_client/auth/web_token_authenticator.py
10+
zitadel_client/auth/personal_access_token_authenticator.py
11+
zitadel_client/auth/no_auth_authenticator.py
12+
13+
# --- bespoke facade (hand-curated entry point wiring the with* factories
14+
# onto the bespoke authenticators the generator does not emit) ---
15+
zitadel_client/zitadel.py
16+
17+
# --- bespoke integration specs + Zitadel server fixtures ---
18+
spec/
19+
etc/
20+
21+
# --- bespoke test files the generator does not emit: Zitadel authenticator
22+
# unit tests, the facade test, the wiremock/squid/cert fixtures, and the
23+
# auth-package init. The spec-independent unit tests (serializer, transport,
24+
# header-selector, configuration, client) are now generator-owned. ---
25+
test/test_zitadel.py
26+
test/auth/__init__.py
27+
test/auth/test_oauth_authenticator.py
28+
test/auth/test_client_credentials_authenticator.py
29+
test/auth/test_no_auth_authenticator.py
30+
test/auth/test_personal_access_authenticator.py
31+
test/auth/test_web_token_authenticator.py
32+
test/fixtures/
33+
34+
# --- repo identity, docs, house tooling (team-owned, not generated) ---
35+
README.md
36+
LICENSE
37+
SECURITY.md
38+
VERSIONING.md
39+
.github/
40+
.idea/
41+
.releaserc.json
42+
.commitlintrc.json
43+
.pre-commit-config.yaml
44+
devbox.json
45+
devbox.lock
46+
lefthook.yml
47+
qodana.yaml
48+
.dockerignore
49+
Dockerfile
50+
.editorconfig
51+
.gitignore
52+
uv.lock
53+
pyproject.toml
54+
55+
# --- generation tooling we added ---
56+
proc.yml
57+
Makefile
58+
.openapi-generator-ignore
59+
60+
# --- generator bookkeeping: the FILES manifest + VERSION are committed but
61+
# are not themselves listed in FILES, so prune must be told to spare them. ---
62+
.openapi-generator/

0 commit comments

Comments
 (0)