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

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for juntai_configuration_client-1.0.0.tar.gz
Algorithm Hash digest
SHA256 29b72dd2efe7f202140d4d395f4f174843c94d64db099fe4f9538282de4a280c
MD5 5674f86d52ce515af3e5d884ece18318
BLAKE2b-256 b8f0ab18db0b12cb68db7dce87594ad47bca202b217b7a3a6720c31d24b7c9e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for juntai_configuration_client-1.0.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for juntai_configuration_client-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cba6f03fe0d1aeca488dfb908876fc51c87e66892935fa2f32f8b3026b40cad2
MD5 5844a45a107256149d7a4427ba4a6b23
BLAKE2b-256 719ba504ef2839d8b018141310b34ee2125c9793d71affabe225d32b59e4b953

See more details on using hashes here.

Provenance

The following attestation bundles were made for juntai_configuration_client-1.0.0-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

1.0.1

2 files

This release

1.0.0 This release

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