permit-python 3.0.0 is out! <pypi.org/project/per...
# announcements
z
permit-python 3.0.0 is out! pypi.org/project/permit github.com/permitio/permit-python A major release of the Python SDK. It fixes dependency CVEs and SDK bugs, and adds Python 3.14 support and type information. It also comes with an AI agent skill that does the upgrade for you. Security • aiohttp 3.14.3: fixes CVE-2026-69244 and 31 other advisories • pydantic floors raised past CVE-2024-3772 • httpx removed (the SDK never used it), which also removes the h11 and anyio CVEs • Every PR and release is now gated on a dependency CVE scan, so nothing reaches PyPI without a passing scan Bug fixes • ABAC:
bulk_check()
and
filter_objects()
now pass your context through. Context-based checks used to be evaluated against an empty context • Sync client: the
permit.api.*
methods no longer raise an error after the write already went through •
authorized_users()
,
get_user_permissions()
and
filter_objects()
work on
permit.sync.Permit
•
authorized_users()
works on pydantic 2 • A wrong API key now shows the real 403 instead of “cannot connect to the PDP container” •
first_name
and
last_name
are no longer dropped from checks New • Python 3.14 support • Type information (
py.typed
): mypy and pyright now check your calls into permit • Tested on Python 3.10 to 3.14, with both pydantic 1 and pydantic 2 Breaking changes • Requires Python 3.10+ • httpx is no longer installed with permit, so add it yourself if your code uses it • A few API changes, for example
resource_relations.list()
now returns a page, and the three sync-client methods above no longer need
await
. The migration guide lists every change with before/after examples Let an agent do the upgrade The
permit-python-3-migration
skill takes an AI agent such as Claude Code through the whole migration guide: 1. Download
permit-python-3-migration.skill
from the release and unzip it into
.claude/skills/
2. Ask “upgrade permit to 3.0.0", or run
/permit-python-3-migration
It checks your Python version first, then: • scans your project • updates your dependencies and applies the mechanical edits • asks you about every judgement call • runs your tests, type checker and linter at the end Just want the list of changes? The scanner is read-only and runs on its own:
python3 .claude/skills/permit-python-3-migration/scripts/scan.py .
📚 Migration guide: github.com/permitio/permit-python/blob/…/MIGRATION.md 📝 Release notes: github.com/permitio/permit-python/…/v3.0.0 📦
pip install -U permit