• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ilpanich / axiam-python-sdk / 29513366553
98%

Build:
DEFAULT BRANCH: main
Ran 16 Jul 2026 03:56PM UTC
Jobs 1
Files 21
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

16 Jul 2026 03:55PM UTC coverage: 98.214% (+0.2%) from 97.97%
29513366553

push

github

web-flow
feat(integrations): add require_access/require_role helpers for FastAPI and Django (CONTRACT §11) (#9)

* docs(contract): sync CONTRACT.md §11 declarative authorization helpers

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5foj8NVCeS9qUW94kJ13g

* feat(integrations): add require_access/require_role helpers for FastAPI and Django (CONTRACT §11)

Add the declarative per-endpoint authorization layer from CONTRACT.md §11
on top of the existing §10 authentication guards:

- FastAPI (axiam_sdk.fastapi): require_access(verifier, configured_tenant,
  client, action, *, resource_param=, resource_id=, resolver=, scope=) as
  an async Depends(...) factory, plus require_role(verifier,
  configured_tenant, *roles). require_authenticated_user's body is
  refactored into a shared _authenticate(request) so both dependencies run
  the same auth pipeline.
- Django (axiam_sdk.django.decorators, new module): require_auth,
  require_access(client, action, resource_param="pk", scope=), and
  require_role(*roles) view decorators reading request.axiam_user, with
  dual sync/async view support.
- AxiamClient/AsyncAxiamClient.check_access gained an additive subject_id
  keyword so the helpers can check the request's authenticated caller
  rather than the client's own (often service-account) session.

Both integrations share the same §11 semantics: 401 unauthenticated, 403
denied, 400 unresolvable resource id, 503 fail-closed on a transport
failure, no decision caching, no raw token in any error output.

Vendored CONTRACT.md re-synced (§11 added) as this branch's first commit.
README conformance statement updated to §1-§11; CHANGELOG Added entry;
both examples extended; new test suites cover the full §11 matrix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C5foj8NVCeS9qUW94kJ13g

---------

Co-authored-by: Claude <noreply@anthropic.com>

147 of 149 new or added lines in 4 files covered. (98.66%)

1045 of 1064 relevant lines covered (98.21%)

0.98 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
97.3
2.14% src/axiam_sdk/fastapi/__init__.py
Jobs
ID Job ID Ran Files Coverage
1 29513366553.1 16 Jul 2026 03:56PM UTC 21
98.21
GitHub Action Run
Source Files on build 29513366553
  • Tree
  • List 21
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29513366553
  • 9ed7c56c on github
  • Prev Build on main (#29417374596)
  • Next Build on main (#29527049891)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc