Skip to main content

Python client for Endevre ID authentication flows

Project description

Endevre ID Python Client

A Python helper library for interacting with Endevre ID authentication services. It mirrors the core workflows of the browser client with a server-friendly API.

Features

  • Build secure login URLs for Endevre ID SSO flows.
  • Exchange authorization codes for tokens (optionally requesting JWTs).
  • Refresh access tokens using stored refresh tokens.
  • Retrieve user information from tokens or the Endevre ID API.
  • Optional JWT validation backed by the public signing key.

Installation

pip install endevre-id-client

Quick start

from endevre_id_client import EndevreClient

client = EndevreClient(
    client_id="<your client id>",
    client_secret="<your client secret>",
)

login_url = client.getLoginUrl(
    final_redirect_uri="https://app.example.com/auth/callback",
    redirect_uris=["https://app.example.com/start"],
)

# After your user completes the flow and you receive the `code`
exchange_result = client.exchange(code)
user_info = client.getUserInfo(exchange_result.token)
refreshed = client.refreshToken(exchange_result.refresh)

Publishing

Automated publishing mirrors the JavaScript package strategy:

  • Pushes to main publish the version defined in pyproject.toml as the stable release.
  • Pushes to beta publish a time-stamped beta pre-release (e.g. 0.1.0b20241006123000+gabc1234).
  • Pushes to dev publish a time-stamped development build (e.g. 0.1.0.dev20241006123000+gabc1234).
  • Pushes to justin* / ray* branches run tests only (no publish).

All workflows live under .github/workflows/python-ci-cd.yml and rely on the PYPI_API_TOKEN secret (or PyPI Trusted Publisher configuration) for auth.

Development

Install dev dependencies:

pip install -e .[dev]

Run the test suite:

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

endevre_id_client-0.1.0.dev20251012174144.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file endevre_id_client-0.1.0.dev20251012174144.tar.gz.

File metadata

File hashes

Hashes for endevre_id_client-0.1.0.dev20251012174144.tar.gz
Algorithm Hash digest
SHA256 7f01b48c4103e4976bd3e80ae11a9c387fcba4b1294f49a9f00c3629e9b94371
MD5 ce155e50c8307d6bf00a94d9dcbb6a51
BLAKE2b-256 fccb5290edc42f51fcd92403686ab4ec7e82076207382f41777e7e1fbf663156

See more details on using hashes here.

Provenance

The following attestation bundles were made for endevre_id_client-0.1.0.dev20251012174144.tar.gz:

Publisher: python-ci-cd.yml on endevre/endevre-id-client-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file endevre_id_client-0.1.0.dev20251012174144-py3-none-any.whl.

File metadata

File hashes

Hashes for endevre_id_client-0.1.0.dev20251012174144-py3-none-any.whl
Algorithm Hash digest
SHA256 15c00660af59e8a4ddf6d4092292dc74a99e47830f32f1bd7858da9500e2c4c5
MD5 ac0caf19fe427213cd0faebc42e65060
BLAKE2b-256 5d03970e54d6651998be460b4f17f76cc4c705a1490e7e2bfcc3fa8e7cf8d5a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for endevre_id_client-0.1.0.dev20251012174144-py3-none-any.whl:

Publisher: python-ci-cd.yml on endevre/endevre-id-client-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page