ACCX Python SDK
Install with pip install accx after publishing this package.
from accx import AccxClient, JobSubmission
client = AccxClient(base_url=os.environ["ACCX_BASE_URL"], workload_token=os.environ["ACCX_WORKLOAD_TOKEN"])
result = client.submit_action(JobSubmission(
action="provider.publish",
secret_references=[os.environ["SOCIAL_TWITTER_REF"]],
required_scopes=["job.execute", "provider.publish"],
input={"contentId": "post-123"},
idempotency_key=str(uuid.uuid4()),
))
Only stable references and sanitized job results cross the SDK boundary.
Metadata, async, and error handling
get_secret_metadata(reference) returns rotation and health metadata only. It never returns a credential value. AsyncAccxClient provides the same reference-only methods for async services, and AccxError exposes a safe status code plus a retryable flag for transient failures.
from accx import AsyncAccxClient, redact
client = AsyncAccxClient(
base_url=os.environ["ACCX_BASE_URL"],
workload_token=os.environ["ACCX_WORKLOAD_TOKEN"],
)
metadata = await client.get_secret_metadata(os.environ["SOCIAL_TWITTER_REF"])
safe_context = redact({"reference": metadata.reference, "token": "never log this"})
For a FastAPI service, fastapi_client_dependency() returns a dependency callable without importing FastAPI or adding a browser-facing integration. It constructs the client only from server process variables ACCX_BASE_URL and ACCX_WORKLOAD_TOKEN.
Environment variables with EnvLoader
Store the ACCX reference in your .env value and expand it at boot with a personal access token:
GEMINI_KEY=accx://acme/production:GEMINI_KEY
DB_HOST=accx://acme/production:DB_HOST
LOCAL_DEV_FLAG=off
from accx import EnvLoader
loader = EnvLoader(
base_url=os.environ["ACCX_BASE_URL"],
personal_token=os.environ["ACCX_PERSONAL_TOKEN"], # accx_pat_...
)
env = loader.load(
local=os.environ, # explicit local values win
accx=Path(".env").read_text(),
)
accx://<project>/<environment>:<KEY> is resolved server-side only for the token's own workspace; development, staging, and production are the only environments. Resolution is batched per environment, and keys missing on the server raise AccxError with status 404.
Metadata
Release files for accx 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| accx-0.3.0.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| accx-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.8 kB
Release files / accx-0.3.0.tar.gz
| Download URL | accx-0.3.0.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ef756511f1fa0b4146f3d8586469dc6a432c45f842cd5726facb3bc3b48b5da
|
|
BLAKE2b-256 checksum How to use checksums |
fad909f65c3c4aa6941fcf76728bf29047048e6834db86d3f114d72495c5818c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / accx-0.3.0-py3-none-any.whl
| Download URL | accx-0.3.0-py3-none-any.whl |
|---|---|
| Size | 12.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
62119290931aa6d00d3e8417e2d315e6678c1a247736d06300dba7d2a8cac829
|
|
BLAKE2b-256 checksum How to use checksums |
172007bc0102bd6a9fff7f2157d4579fe195da17b4e90503a5c8a826284d69c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|