Publish Provider Version
Publish a provider version by streaming its wheel through the API.
The publisher (pragma providers publish) runs uv build and posts
the wheel as a multipart request: the wheel file part wheel plus a
JSON metadata form field decoded into :class:WheelUploadMetadata.
The API validates the filename, size, and version before streaming the
bytes into the owned registry, computing the sha256 over the same pass,
and persisting a PUBLISHED :class:ProviderVersion. The API hosts the
wheel and computes the digest, so the request carries neither a wheel URL
nor a client sha256, and the package name is derived from the wheel
filename.
Returns: Persisted PUBLISHED ProviderVersion record.
Raises: HTTPException: 400/413/422 when the wheel filename, size, version, or metadata fail validation, or 403 when the provider namespace does not match the authenticated user’s organization. ProviderVersionImmutableError: 409 when the version already exists. WheelRegistryNotConfiguredError: 503 when no registry is configured. WheelRegistryUploadError: 502 when the registry push fails upstream.
Response
Successful Response
A published version of a provider.
Identity fields (frozen): prefix: Namespace token of the owning provider. name: Provider short name this version belongs to. version: Semantic version string (e.g., "1.0.0").
Build metadata:
wheel_sha256: SHA-256 digest of the wheel bytes, computed
server-side at publish time as a catalog audit field.
package_name: Optional importable Python package name inside a
wheel-published provider. When absent, the runtime attempts
to infer it from installed wheel metadata.
entrypoint: Optional override of the runtime entrypoint command
(e.g. ["python", "-m", "custom_runtime"]). None keeps
the default python -m pragma_runtime.entrypoint.
source_hash: SHA-256 of the source tarball on legacy rows.
Provider introspection: schemas: Resource type schemas extracted from the provider.
State (system-managed): status: Build/publish lifecycle status. published_at: Timestamp when version was published. error_message: Error details when build fails.
Slash-joined prefix/name canonical string of the owning provider.
Returns: Display form of the provider identity this version belongs to.
^[0-9a-f]{64}$1 - 200Publish lifecycle status for a provider version.
building, published, failed, yanked