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.7.tar.gz (368.8 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.7-py3-none-any.whl (702.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: enfuce_nextgen_sdk-0.0.7.tar.gz
  • Upload date:
  • Size: 368.8 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.7.tar.gz
Algorithm Hash digest
SHA256 2079bcca66620648e45bcca4ead8fce0c0c238e35a405efcf6c845616d037cc4
MD5 94d6975e84cf7f30b4dcc3d2e6ac4c52
BLAKE2b-256 eecee7979cf4590bc20e583c919a9df76953f6e8499ed90e169c9e73af061fbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for enfuce_nextgen_sdk-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 40c7a83d905348392dbceca86918383be9b24be05e10a47b40478c121390f154
MD5 c01402bb525b55d5e405a93e0952e41e
BLAKE2b-256 33100504307a01dc359a566a73f6241db56d585922287e982b515b6518a3588e

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