Skip to main content

Juntai Configuration Client

juntai-configuration-client is the backend Python client for publishing and resolving opaque configuration revisions. The stable import is juntai.configuration.

After the corrected release is published, backend services install only:

python -m pip install "juntai-configuration-client>=1,<2"

The package pushes payload bytes directly to an OCI Distribution-compatible registry, verifies the immutable manifest digest and media types, and registers generic metadata through the internal Configuration Registry RPC service. Resolution obtains the exact metadata through that service, pulls directly from OCI by digest, and verifies every descriptor before returning opaque bytes. Domain services continue to own serialization, schemas, and interpretation.

The previous juntai-configuration distribution and its associated evidence are superseded and must not be used or republished. Its external deletion is not a release gate and this project does not provide an alias or compatibility bridge. A corrected juntai-configuration-client package is built only from the pinned Configuration Registry v1.0.1 Protobuf release and the pinned FuseAPI generator.

Generated modules are an implementation detail. Callers use only the high-level ConfigurationClient workflows. Browser applications, Console or Micro-UI code, registry administration, and OCI credential behavior are outside this package.

Owning backend services inject platform-provided workload identity and an OCI transport. This package constructs only a secure mTLS gRPC channel; it has no insecure Registry mode and does not acquire workload or OCI credentials:

from juntai.configuration import ConfigurationClient

with ConfigurationClient.from_workload(
    registry_target="dns:///configuration-registry.platform.svc:7443",
    oci=oci_transport,
    identity_provider=workload_identity_provider,
) as configurations:
    published = configurations.publish(
        namespace="runtime",
        name="credit-review",
        kind="axiom.workflow-runtime",
        payload=serialized_configuration,
        media_type="application/vnd.juntai.axiom.workflow-runtime.v1+json",
        provenance={"source_revision": source_revision, "build_id": build_id},
        idempotency_key=idempotency_key,
        correlation_id=correlation_id,
        deadline_seconds=10,
    )
    exact_bytes = configurations.resolve_and_download(
        published.reference,
        correlation_id=correlation_id,
        deadline_seconds=10,
    )

The metadata RPC accepts only the exact owner contract. Registration sends source_revision and build_id; tenant, owner, producer identity, and creation time are server-derived. Resolution always uses the exact tenant-scoped configuration_id + revision_id pair and never follows an alias.

Development

python scripts/check_production_boundary.py
uv sync --locked --all-groups --no-editable
uv run --locked --no-sync python scripts/generate_registry_grpc.py --check
uv run --locked --no-sync pytest
uv run --locked --no-sync ruff format --check .
uv run --locked --no-sync ruff check .
uv build

The OCI conformance vector is conformance/configuration-oci-v1.json. The exact Registry v1.0.1 owner pin is contracts/upstream/configuration-registry.lock.json; its source is reproduced under contracts/upstream/configuration-registry/v1, and generated modules live only under juntai.configuration.generated.juntai.registry.configuration.v1.

Deterministic stub generation is pinned independently through juntai-fuse-api[grpc-generated]==1.1.2, profile juntai.fuse.profile.grpc-generated v1.0.0. Its immutable release identity and toolchain are recorded in contracts/upstream/fuse-api-generation.lock.json.

Download files

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

Source Distribution

juntai_configuration_client-1.0.1.tar.gz (100.3 kB view details)

Uploaded Source

Built Distribution

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

juntai_configuration_client-1.0.1-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file juntai_configuration_client-1.0.1.tar.gz.

File metadata

File hashes

Hashes for juntai_configuration_client-1.0.1.tar.gz
Algorithm Hash digest
SHA256 2042f38e5bfe2f6d83b8acc623d2d97371aa450de0adaac3130acf7bc5538131
MD5 31c776800ff175d528aaceb9fe4ad34f
BLAKE2b-256 03e5c46caa277083cd12a0055b41bd8b0254fe285e74ddfed80138f045bbb78b

See more details on using hashes here.

Provenance

The following attestation bundles were made for juntai_configuration_client-1.0.1.tar.gz:

Publisher: publish.yml on zephytiju/JuntaiConfigurationClient

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

File details

Details for the file juntai_configuration_client-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for juntai_configuration_client-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 63b8b776278c5c26cb4bab8995439fa1ae40a045f630b150b1c8cc738440c97d
MD5 e13f968057708e142669d95af4540f05
BLAKE2b-256 9d5c5188dbd225c81e1f36cb0f7fd9c11645f4e3cefd669275b8a7f927337fbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for juntai_configuration_client-1.0.1-py3-none-any.whl:

Publisher: publish.yml on zephytiju/JuntaiConfigurationClient

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

Release history Release notifications | RSS feed

1.0.2

2 files

This release

1.0.1 This release

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page