Skip to main content

Enfuce nextgen client SDK (Python). One sub-package per API under enfuce_nextgen.

Project description

enfuce-nextgen-sdk

Enfuce nextgen client SDK for Python. Each API is an isolated sub-package under enfuce_nextgen, so identically-named models across APIs never collide.

Installation

pip install enfuce-nextgen-sdk

Usage

Every API module ships a fluent <Module>Client (e.g. CardClient, ExchangeRateClient) that builds the ApiClient, installs OAuth, applies the host, and exposes each API:

from enfuce_nextgen.oauth import client_credentials
from enfuce_nextgen.card import CardClient

# One token manager (cached client-credentials grant) — reuse it across every module.
tokens = client_credentials(
    "https://auth.<tenant>.enfuce.com/oauth2/token",
    "<client-id>", "<client-secret>", scopes=["issuer/admin.read"],
)

client = (
    CardClient.builder()
    .base_url("https://api.<tenant>.eu.live.prod.mycore.enfuce.com/issuer")
    .oauth(tokens)                                          # token on every request + 401 retry
    .configure(lambda c: setattr(c, "proxy", "http://proxy:8080"))  # optional: TLS, retries, pool …
    .build()
)

card = client.get_card_api().get_card(card_id, x_audit_user="you@example.com")

build() works without .oauth(...) (unauthenticated), and configure(lambda c: …) hands you the Configuration for transport settings (proxy, TLS, retries, connection pool). The same builder is available for every module, including ones whose spec declares no security scheme (e.g. ExchangeRateClient).

Timeouts are per request in the Python client — pass _request_timeout (seconds, or a (connect, read) tuple) on any call:

client.get_card_api().get_card(card_id, x_audit_user="you@example.com", _request_timeout=10)

Prefer the lower level? enfuce_nextgen.oauth.oauth_configuration / oauth_api_client build an OAuth-enabled Configuration / ApiClient you can pass to an API class directly.

Available APIs

  • enfuce_nextgen.card
  • enfuce_nextgen.wallet
  • enfuce_nextgen.cardholder
  • enfuce_nextgen.pin
  • enfuce_nextgen.issuer_events
  • enfuce_nextgen.authorisation_control
  • enfuce_nextgen.cards
  • enfuce_nextgen.threeds
  • enfuce_nextgen.threeds_oob
  • enfuce_nextgen.clearing_file_copy
  • enfuce_nextgen.transaction_event

Requirements

  • Python >=3.9
  • pydantic >=2

License

MIT

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

enfuce_nextgen_sdk-0.0.6.tar.gz (367.2 kB view details)

Uploaded Source

Built Distribution

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

enfuce_nextgen_sdk-0.0.6-py3-none-any.whl (700.2 kB view details)

Uploaded Python 3

File details

Details for the file enfuce_nextgen_sdk-0.0.6.tar.gz.

File metadata

  • Download URL: enfuce_nextgen_sdk-0.0.6.tar.gz
  • Upload date:
  • Size: 367.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for enfuce_nextgen_sdk-0.0.6.tar.gz
Algorithm Hash digest
SHA256 c468ca7867493ffead9257380c1e362932527418c7db407658d70d94ad41ec9a
MD5 16824fc0a5a5e0fc6b30ef91883365b8
BLAKE2b-256 a82009c583790dc36f9ef9c2c8617c9dc49fd7c835999f6c2605affe05ce64d6

See more details on using hashes here.

File details

Details for the file enfuce_nextgen_sdk-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for enfuce_nextgen_sdk-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bdc9757c65cd888948d98f8b984ee088fa91c250668b0a8736ea4450ab1d4937
MD5 a1089398a39f3f253fe686bfc78d1944
BLAKE2b-256 4372cb10cef8265397295b27d8800c81bb2f5a305802dc3e418c92db0e831d78

See more details on using hashes here.

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