Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
744 commits
Select commit Hold shift + click to select a range
127c812
docs: changelog update
ryshoooo Apr 5, 2023
e7854d0
fix: improved type-hints (#427)
ykun9 Apr 5, 2023
2fadff9
docs: changelog update
ryshoooo Apr 5, 2023
1bdda5f
fix: deprecation warnings in keycloak_admin.py (#425)
pehala Apr 5, 2023
89348f5
docs: changelog update
ryshoooo Apr 5, 2023
3edb200
fix: Check if _s exists in ConnectionManager before deleting it (#429)
pehala Apr 6, 2023
e483bf4
docs: changelog update
ryshoooo Apr 6, 2023
0249525
test: fixed tests for new keycloak (#438)
ryshoooo Apr 28, 2023
35bdbe9
fix(pyproject.toml): loose requests pgk and remove urllib3 as depende…
karimelhajoui63 Apr 28, 2023
f26a9ed
docs: changelog update
ryshoooo Apr 28, 2023
5036bfc
feat: Add get and delete methods for client authz resources (#435)
sras1599 Apr 28, 2023
47b48c6
docs: changelog update
ryshoooo Apr 28, 2023
fab1865
fix: Initializing KeycloakAdmin without server_url (#439)
arminshoughi May 1, 2023
3d973b0
docs: changelog update
ryshoooo May 1, 2023
5d8ff36
docs: Fixed a typo (#441)
michitaro May 8, 2023
fa10804
fix: issue with app engine reported in #440 (#442)
isccarrasco May 9, 2023
ac5b4f8
docs: changelog update
ryshoooo May 9, 2023
bd9168a
fix: Fixes `Authorization.load_config` breaking if a scope based perm…
sras1599 May 15, 2023
cb99b33
docs: changelog update
ryshoooo May 15, 2023
8edbcfd
perf: improve performance of get_user_id (#449)
mjeanroy May 28, 2023
ea2f2d6
docs: changelog update
ryshoooo May 28, 2023
00ada87
fix: do not swap realm for user_realm when logging in with a client s…
gboor May 28, 2023
ef6dc0f
docs: changelog update
ryshoooo May 28, 2023
4803101
fix: relax the version constraints
ryshoooo-adamatics May 28, 2023
686eb3a
chore: bump the deprecation to v4
ryshoooo-adamatics May 28, 2023
8d823d7
ci: include the package
ryshoooo-adamatics May 28, 2023
0225c80
docs: changelog update
ryshoooo May 28, 2023
fd00b7f
refactor: Exchange token method
AndreasBBS May 28, 2023
257de54
docs: changelog update
ryshoooo May 28, 2023
8aa71f4
feat: Add query to get users group method and permit pagination (#444)
anapaulamendes Jun 23, 2023
220591b
docs: changelog update
ryshoooo Jun 23, 2023
8c52023
test: fix the user group pagination test
ryshoooo Jun 23, 2023
29ebc45
test: fix the token test
ryshoooo Jun 23, 2023
57ca0f7
chore: deps update
ryshoooo Jun 23, 2023
b1bb149
fix: remove duplicate slash in URL_ADMIN_IDP (#459)
jasminapegan Jun 23, 2023
4a751f9
docs: changelog update
ryshoooo Jun 23, 2023
97fdb1a
feat: Implement missing admin method create_client_authz_scope_based_…
cainotis Jun 23, 2023
3ea5bdc
docs: changelog update
ryshoooo Jun 23, 2023
326a2d3
feat: added KeycloakAdmin.update_client_authz_resource() (#462)
cainotis Jun 27, 2023
5957607
docs: changelog update
ryshoooo Jun 27, 2023
0d3fd13
feat: add an optional search criteria to the get_realm_roles function…
FreckTech Nov 13, 2023
ab045fc
docs: changelog update
ryshoooo Nov 13, 2023
e0e1882
chore: Add direct "setuptools" dependency (#505)
pehala Nov 13, 2023
3704c77
chore: make audience in token exchange optional (#499)
pitwegner Nov 13, 2023
2a85ec4
chore: Add typing to Keycloak admin connection (#496)
jackylamhk Nov 13, 2023
b5695b7
chore: add typing for KeycloakAdmin connection attribute (#492)
Kevin-Bannier Nov 13, 2023
45116bc
feat: Update dynamic client using registration access token (#491)
mklassen Nov 13, 2023
92f7d76
docs: Allow the verify attribute to be bool or string #479 (#480)
waza-ari Nov 13, 2023
5182003
docs: changelog update
ryshoooo Nov 13, 2023
6899022
feat: add KeycloakAdmin.get_idp() (#478)
derlin Nov 13, 2023
d0e5108
docs: changelog update
ryshoooo Nov 13, 2023
7dd46e1
chore: Feat/create permission for scopes (#400)
Hadeer-Elsaeed Nov 13, 2023
2281cc1
chore: implement get_realm_role_groups method (#464)
enzossatolo Nov 13, 2023
dc2d4ed
chore: implement partialImport request (#456)
Ujifman Nov 13, 2023
b93536b
chore: add missing get_realm_role_by_id to KeycloakAdmin (#468)
cainotis Nov 13, 2023
1397de3
chore: loosen requests-toolbelt dependency (#473)
mnaser Nov 13, 2023
0c9c22d
docs: Remove removed function attribute from README.md (#469)
vitorespindola Nov 13, 2023
cd060c9
chore: Feat/support admin events (#474)
zimaldone Nov 13, 2023
5d4b9d1
chore: Add device authorization grant (#454)
manonmichel Nov 13, 2023
03c317c
fix: Ci/fix tests (#506)
ryshoooo Nov 13, 2023
3961f9e
docs: changelog update
ryshoooo Nov 13, 2023
e3c13f4
fix: no prints
ryshoooo Nov 13, 2023
ab29558
feat: realm changing helpers
ryshoooo Nov 13, 2023
bc810d1
docs: changelog update
ryshoooo Nov 13, 2023
da99042
fix: deprecate entitlement
marcospereirampj Feb 13, 2024
039cd75
fix: depracated endpoint and fix groups services.
marcospereirampj Feb 13, 2024
16eec61
fix: linter check.
marcospereirampj Feb 13, 2024
f594c7b
Merge pull request #525 from marcospereirampj/fix/new-keycloak
marcospereirampj Feb 13, 2024
c05c6cd
fix: action bump
marcospereirampj Feb 13, 2024
355a2f4
docs: changelog update
ryshoooo Feb 13, 2024
7df9233
feat: Adding additional methods to support roles-by-id api calls
gowen-mod Feb 11, 2024
cfe8602
fix: Removing the admin realm variable which I created and is no long…
gowen-mod Feb 11, 2024
4c57d0a
docs: changelog update
ryshoooo Feb 13, 2024
5f66853
fix: updated dependencies
marcospereirampj Feb 13, 2024
7db8a82
fix: linter check
marcospereirampj Feb 13, 2024
98ee094
docs: changelog update
ryshoooo Feb 13, 2024
6196026
fix: update readme.
marcospereirampj Feb 13, 2024
0af6e46
docs: changelog update
ryshoooo Feb 14, 2024
70af4bf
fix: name of client_id parameter
tobiasge Jan 22, 2024
06c7498
docs: changelog update
ryshoooo Feb 14, 2024
fb5e1e8
fix: use grant type password with client secret
mgm-jenstrinh Jan 11, 2024
ef9d233
docs: changelog update
ryshoooo Feb 15, 2024
7eb0add
feat: new docs.
marcospereirampj Feb 15, 2024
f9da008
fix: updated readme.
marcospereirampj Feb 15, 2024
92d1ebd
feat: new docs.
marcospereirampj Feb 15, 2024
bcf676b
feat: new docs.
marcospereirampj Feb 15, 2024
02de374
feat: new docs.
marcospereirampj Feb 16, 2024
9cc7454
feat: new docs.
marcospereirampj Feb 16, 2024
b8b4c63
feat: new docs.
marcospereirampj Feb 16, 2024
ea7be96
feat: new docs.
marcospereirampj Feb 16, 2024
ae9e087
docs: changelog update
ryshoooo Feb 16, 2024
fbabcc6
chore: no envrc
Feb 22, 2024
6ba6c90
fix: replace python-jose with jwcrypto
Feb 22, 2024
e285f92
fix: use jwcrypto and remove python-jose
Feb 22, 2024
2125d1e
docs: changelog update
ryshoooo Feb 26, 2024
e16562f
test: Tests with Keycloak 24 (#535)
tobiasge Apr 7, 2024
26ff4f2
fix: get_groups pagination call was not used #537 (#541)
kernelshard Apr 7, 2024
1823ac2
test: Test/keycloak versions (#543)
ryshoooo Apr 7, 2024
1dd6c81
fix: incorporate custom headers into default header setup (#533)
mattcollie Apr 7, 2024
e984f8a
ci: fix docs pipeline
ryshoooo Apr 7, 2024
e1c8973
feat: Allow query parameters for group children (#534)
tobiasge Apr 7, 2024
8f10fe5
fix: improve KeycloakAdmin.get_client_id() performances (#511)
aurelien-alet Apr 7, 2024
f87c64a
fix: fix keycloak_admin.create_user documentation/ typehint (#545)
fabinca Apr 8, 2024
ed124cd
feat: add admin group count (#540)
thanhpt1708 Apr 8, 2024
0c26db3
docs: changelog update
ryshoooo Apr 8, 2024
5eaafed
chore: updated changelog
ryshoooo Apr 8, 2024
49f2d8b
docs: Update all links (#546)
tobiasge Apr 8, 2024
1e9922b
fix: lowercase default role name (#547)
ryshoooo Apr 8, 2024
ab25e0f
docs: changelog update
ryshoooo Apr 8, 2024
5eb9c8d
ci: upgrade actions (#548)
ryshoooo Apr 8, 2024
654cf88
feat: allows retrieval of realm and client level roles for a user (#512)
comemaryvallee Apr 10, 2024
2f1c317
docs: changelog update
ryshoooo Apr 10, 2024
af3d596
test: fix match
ryshoooo Apr 10, 2024
31e4057
chore: updated dependencies, moved docs into separate poetry group
ryshoooo Apr 27, 2024
333a1ed
fix: removed deprecated functionality
ryshoooo Apr 27, 2024
7692582
test: updated tests not to use deprecated attributes
ryshoooo Apr 27, 2024
9f57480
test: added missing tests
ryshoooo Apr 27, 2024
f0c731b
feat: re-enable full group hierarchy fetching
ryshoooo Apr 27, 2024
4dc5b0a
refactor: refactored decode_token
ryshoooo Apr 27, 2024
d3fc5d9
docs: updated readme
ryshoooo Apr 27, 2024
4bd55ba
fix: removed dead code, stabilized tests
ryshoooo Apr 27, 2024
6ec4998
feat: Merge pull request #556 from marcospereirampj/release/4.0.0
ryshoooo Apr 27, 2024
1a3f2f7
docs: changelog update
ryshoooo Apr 27, 2024
84af4a1
docs: spelling
ryshoooo Apr 27, 2024
fad9d78
chore: update deps
ryshoooo Apr 27, 2024
f00f5c3
chore: revert deps
ryshoooo Apr 27, 2024
d771e3f
chore: deps upgrade
ryshoooo May 9, 2024
0ec489d
chore: upgrade deps
ryshoooo May 21, 2024
9d0772b
docs: example update (#563)
JosueFunez May 22, 2024
210d576
chore: deps update for requests due to cve yanking
ryshoooo May 22, 2024
ec1affa
fix: Leeway config (#568)
claeyswo Jun 4, 2024
b9456d3
docs: changelog update
ryshoooo Jun 4, 2024
81025e0
feat: Async feature (#566)
pythreeopenAI Jun 6, 2024
6aba6d9
docs: changelog update
ryshoooo Jun 6, 2024
d18ccbf
docs: remove dependency lists from install.rst (#569)
Yelinz Jun 8, 2024
8e2381a
chore: Fix/latest keycloak updates (#572)
ryshoooo Jun 15, 2024
fa1ce3b
feat: functions for updating resource permissions and getting associa…
MohsinEngineer Jun 22, 2024
1c3cf64
docs: changelog update
ryshoooo Jun 22, 2024
0184e03
chore: upgrade deps
ryshoooo Jul 6, 2024
7bdd546
fix: passing timeout values to ConnectionManager (#578)
cnvrtr Jul 11, 2024
139d528
docs: changelog update
ryshoooo Jul 11, 2024
5f8c030
fix: correctly pass query params in a_send_update_account and a_send_…
pboehm Jul 16, 2024
b211285
docs: changelog update
ryshoooo Jul 16, 2024
ebfaa33
fix: use a_public_key() in a_decode_token() instead of public_key() (…
kotnikd3 Jul 24, 2024
2091d59
docs: changelog update
ryshoooo Jul 24, 2024
88a8ccc
feat: allow the use of client certificates in all requests (#584)
nehuengonzalez Aug 1, 2024
76d2340
docs: changelog update
ryshoooo Aug 1, 2024
78a0aa1
docs: add change log URL to make it discoverable for tools like renov…
lociii Aug 10, 2024
14051de
feat: add matchingUri support for listing resources with wildcards (#…
Tarick Sep 14, 2024
972c0ab
docs: changelog update
ryshoooo Sep 14, 2024
216387a
feat: add ability to remove composite client roles (#596)
Syzygeezus Sep 28, 2024
034a075
docs: changelog update
ryshoooo Sep 28, 2024
41d2047
fix: Set client_credentials as grant_type also when x509 certificate …
alexrohozneanu Oct 2, 2024
2d3aa5d
docs: changelog update
ryshoooo Oct 2, 2024
05c2e7a
feat: Add the max_retries parameter (#598)
roguh Oct 4, 2024
cb4fb77
docs: changelog update
ryshoooo Oct 4, 2024
966664d
chore: updated tests for Keycloak 26, deprecated Keycloak 21
alexrohozneanu Oct 5, 2024
8e83599
fix: changed sync get user id to async get user in create user async …
alexrohozneanu Oct 5, 2024
d44ae42
docs: changelog update
ryshoooo Oct 5, 2024
032418d
fix: add scopes to device auth (#599)
marlenekoh Oct 5, 2024
f1e7f40
docs: changelog update
ryshoooo Oct 5, 2024
1687eb7
chore: update deps
ryshoooo Oct 5, 2024
7cfad72
ci: python version update (#604)
ryshoooo Oct 10, 2024
0c52ec4
fix: Add optional Nonce parameter to the authorization URL requests (…
gregriff Oct 26, 2024
51d34c4
docs: changelog update
ryshoooo Oct 26, 2024
52b7165
feat: add client scope client-specific role mappings (#605)
Nov 3, 2024
f77232b
docs: changelog update
ryshoooo Nov 3, 2024
239e404
fix: make sure to not call sync IO functions inside async functions (…
Krismix1 Nov 13, 2024
3b946c3
docs: changelog update
ryshoooo Nov 13, 2024
ac07820
fix: Feature parity for `a_decode_token` and `decode_token` (#616)
Krismix1 Nov 17, 2024
20f4123
docs: changelog update
ryshoooo Nov 17, 2024
371d11a
fix: change to mounts (#622)
jonthemango Nov 29, 2024
4383dac
docs: changelog update
ryshoooo Nov 29, 2024
a5bb631
Fix/httpx upgrade (#626)
ryshoooo Dec 10, 2024
d1984c7
docs: changelog update
ryshoooo Dec 10, 2024
4d269ba
feat: uma extra payload
ryshoooo Dec 14, 2024
b9f8bd2
fix: get group by path should not raise on 404
ryshoooo Dec 14, 2024
a9c03a4
feat: user profile metadata parameter for get_user method
ryshoooo Dec 14, 2024
5fa7ea1
feat: uma extra payload
ryshoooo Dec 14, 2024
b37edc8
fix: check uma permissions with resource ID as well
ryshoooo Dec 14, 2024
0fd1cd6
docs: fixed docs for get_client_role
ryshoooo Dec 14, 2024
c17f830
feat: get_client_all_sessions now supports pagination
ryshoooo Dec 14, 2024
e5f3cb6
chore: updated dependencies
ryshoooo Dec 14, 2024
01e7694
test: simplify assertion for non-existent group path error
ryshoooo Dec 14, 2024
3548e1e
test: simplify assertion for non-existent group path error
ryshoooo Dec 14, 2024
d0d2b60
chore: Merge pull request #627 from marcospereirampj/feat/fixing_issues
ryshoooo Dec 14, 2024
b5e966f
docs: changelog update
ryshoooo Dec 14, 2024
ad6ff06
fix: retry upon 401
ryshoooo Dec 15, 2024
b853e64
chore: handle deprecation warning
ryshoooo Dec 15, 2024
01a6cb3
Merge pull request #628 from marcospereirampj/542-keycloakadmin-not-r…
ryshoooo Dec 15, 2024
f0a82a6
docs: changelog update
ryshoooo Dec 15, 2024
327efd8
fix: small bugs, use ruff as linter, added annotations
ryshoooo Jan 26, 2025
957f46e
docs: changelog update
ryshoooo Jan 26, 2025
bcb1870
docs: fix version
ryshoooo Jan 27, 2025
c5288f4
feat: Add functions to get/update realm users profile (#634)
asyd Jan 30, 2025
8760ca0
docs: changelog update
ryshoooo Jan 30, 2025
3868652
feat: more authentication flows and executions methods
w1ndblow Feb 2, 2025
ab289b7
docs: changelog update
ryshoooo Feb 2, 2025
4dfa7c8
fix: add py.typed marker file (pep-561) (#637)
PotatoesMaster Feb 3, 2025
5bf8e60
docs: changelog update
ryshoooo Feb 3, 2025
f9138d1
chore: add correct return type to get_credentials and a_get_credentia…
Liambeck99 Feb 23, 2025
4e94956
feat: adds support for keycloak organizations (#642)
becelot Apr 8, 2025
f553ac0
docs: changelog update
ryshoooo Apr 8, 2025
5b68e1f
feat: implement client for revoking consents/offline access, with asy…
coldham10 Apr 9, 2025
de1ed16
docs: changelog update
ryshoooo Apr 9, 2025
3f5dc50
fix: fix/latest version (#654)
ryshoooo May 25, 2025
5d42c34
docs: changelog update
ryshoooo May 25, 2025
5fbefac
chore: add correct return type to get_client_secrets and a_get_client…
mdujava Jun 5, 2025
23c86b8
feat: add pagination support to get realm roles (#659)
NikshetSteh Jun 22, 2025
903b7d3
docs: changelog update
ryshoooo Jun 22, 2025
d747799
fix: fix tests (#661)
ryshoooo Jul 17, 2025
db376fc
docs: changelog update
ryshoooo Jul 17, 2025
d9de702
feat: add `get_composite_client_roles_of_role` (#660)
logileifs Jul 17, 2025
28b0c43
docs: changelog update
ryshoooo Jul 17, 2025
edc2f42
chore: correct return type hint in get_all_roles_of_user and a_get_al…
NikshetSteh Aug 8, 2025
52242f5
feat: implement endpoints returning the number of members in an organ…
gregriff Aug 19, 2025
9d08530
docs: changelog update
ryshoooo Aug 19, 2025
43c7adf
fix: prevent all httpx deprecation warnings (#666)
gregriff Aug 19, 2025
fe0967c
docs: changelog update
ryshoooo Aug 19, 2025
ed0fd6d
chore: correct return type hint in uma_permissions and a_uma_permissi…
nasudadada Sep 19, 2025
7d9b8af
chore: ci fixes (#686)
ryshoooo Dec 27, 2025
18f4d50
feat: add pool_maxsize parameter to connection managers (#651)
andrewmooreio Dec 27, 2025
0645cdf
docs: changelog update
ryshoooo Dec 27, 2025
c5a8309
chore: correct argument type hint in send_update_account and a_send_u…
takapdayon Dec 27, 2025
3ea1a0a
feat: add get_role_composites_by_id method (#680)
ethan-k Dec 27, 2025
dacef71
docs: changelog update
ryshoooo Dec 27, 2025
05763ae
feat: implement authz import request (#685)
Ujifman Dec 27, 2025
16411f7
docs: changelog update
ryshoooo Dec 27, 2025
6361733
feat: Add PKCE support (RFC 7636) (#670)
grudloffev Dec 27, 2025
3ea146d
docs: changelog update
ryshoooo Dec 27, 2025
60e9927
revert: Revert error handling change in `KeycloakAdmin.get_group_by_p…
dominik-korsa Dec 28, 2025
30a1367
docs: changelog update
ryshoooo Dec 28, 2025
6b67391
fix: strong and consistent typing across the library
ryshoooo Jan 4, 2026
1fd5a7a
test: updated tests to work for older versions of keycloak
ryshoooo Jan 4, 2026
f1d4376
fix: removed async property as a dependency
ryshoooo Jan 4, 2026
216d7fe
test: fixed the tests for older keycloak versions
ryshoooo Jan 4, 2026
ea05d97
fix: pass query params in get groups
ryshoooo Jan 4, 2026
949e9b5
chore: multipart typing
ryshoooo Jan 4, 2026
9a8c498
fix: dont override transport for httpx
ryshoooo Jan 4, 2026
3fe4886
fix: pass along the default connection manager configuration into uma
ryshoooo Jan 4, 2026
1556fbe
chore: python version
ryshoooo Jan 4, 2026
3c43516
fix: updated lockfile
ryshoooo Jan 4, 2026
15c0565
Merge pull request #687 from marcospereirampj/fix/pyright
ryshoooo Jan 4, 2026
5316890
docs: changelog update
ryshoooo Jan 4, 2026
9821540
fix: python version
ryshoooo Jan 5, 2026
2c62509
chore: Merge branch 'master' of https://github.com/marcospereirampj/p…
ryshoooo Jan 5, 2026
16487b7
docs: changelog update
ryshoooo Jan 5, 2026
8eca957
fix: Fix/python version and ci (#691)
ryshoooo Jan 8, 2026
5e3ee8d
docs: changelog update
ryshoooo Jan 8, 2026
7e8184d
chore: typehints (#696)
Ujifman Jan 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 0 additions & 37 deletions .circleci/config.yml

This file was deleted.

32 changes: 32 additions & 0 deletions .github/workflows/bump.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Bump version

on:
workflow_run:
workflows: ["Lint"]
branches: [master]
types:
- completed

jobs:
tag-version:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.PAT_TOKEN }}
- uses: actions/setup-node@v4
with:
node-version: 20
- name: determine-version
run: |
VERSION=$(npx semantic-release --branches master --dry-run | { grep -i 'the next release version is' || test $? = 1; } | sed -E 's/.* ([[:digit:].]+)$/\1/')
echo "VERSION=$VERSION" >> $GITHUB_ENV
id: version
- uses: rickstaa/action-create-tag@v1
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
with:
tag: v${{ env.VERSION }}
message: "Releasing v${{ env.VERSION }}"
github_token: ${{ secrets.PAT_TOKEN }}
31 changes: 31 additions & 0 deletions .github/workflows/daily.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Daily check

on:
schedule:
- cron: "0 4 * * *"

jobs:
test:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
keycloak-version: ["22.0", "23.0", "24.0", "25.0", "26.0", "latest"]
env:
KEYCLOAK_DOCKER_IMAGE_TAG: ${{ matrix.keycloak-version }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: docker/setup-docker-action@v4
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install poetry
poetry install
- name: Run tests
run: |
poetry run tox -e tests
102 changes: 102 additions & 0 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: Lint

on:
push:
branches: [master]
pull_request:
branches: [master]

jobs:
check-commits:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: webiny/action-conventional-commits@v1.3.0

check-linting:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install poetry
poetry install
- name: Check linting, formatting
run: |
poetry run tox -e check

check-docs:
runs-on: ubuntu-22.04
needs:
- check-commits
- check-linting
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install poetry
poetry install
- name: Check documentation build
run: |
poetry run tox -e docs

test:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
keycloak-version: ["22.0", "23.0", "24.0", "25.0", "26.0", "latest"]
needs:
- check-commits
- check-linting
env:
KEYCLOAK_DOCKER_IMAGE_TAG: ${{ matrix.keycloak-version }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- uses: docker/setup-docker-action@v4
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install poetry
poetry install
- name: Run tests
run: |
poetry run tox -e tests
- name: Keycloak logs
run: |
cat keycloak_test_logs.txt

build:
runs-on: ubuntu-22.04
needs:
- test
- check-docs
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install poetry
poetry install
- name: Run build
run: |
poetry run tox -e build
44 changes: 44 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Publish

on:
push:
tags:
- "v*"

jobs:
publish:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: "0"
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: "3.14"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install poetry
poetry install
- name: Apply the tag version
run: |
version=${{ github.ref_name }}
sed -Ei '/^version = /s|= "[0-9.]+"$|= "'${version:-1}'"|' pyproject.toml
- name: Run build
run: |
poetry run tox -e build
- name: Publish to PyPi
env:
TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }}
TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}
run: |
poetry run twine upload -u $TWINE_USERNAME -p $TWINE_PASSWORD dist/*
- name: Run changelog
run: |
poetry run tox -e changelog
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "docs: changelog update"
branch: master
file_pattern: CHANGELOG.md
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ nosetests.xml
coverage.xml
*.cover
.hypothesis/
keycloak_test_logs.txt

# Translations
*.mo
Expand Down Expand Up @@ -81,6 +82,7 @@ celerybeat-schedule

# dotenv
.env
.envrc

# virtualenv
.venv
Expand All @@ -103,4 +105,8 @@ ENV/
.idea/
main.py
main2.py
s3air-authz-config.json
s3air-authz-config.json
.vscode
_build
.ruff_cache
.DS_Store
17 changes: 17 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
args: ["--maxkb=10000"]
- repo: https://github.com/compilerla/conventional-pre-commit
rev: v1.2.0
hooks:
- id: conventional-pre-commit
stages: [commit-msg]
args: [] # optional: list of Conventional Commits types to allow
14 changes: 14 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
version: 2

sphinx:
configuration: docs/source/conf.py

build:
os: "ubuntu-24.04"
tools:
python: "3.14"
jobs:
post_create_environment:
- python -m pip install poetry
post_install:
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install
8 changes: 8 additions & 0 deletions .releaserc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"plugins": ["@semantic-release/commit-analyzer"],
"verifyConditions": false,
"npmPublish": false,
"publish": false,
"fail": false,
"success": false
}
Loading