Runtime Data Format#
conda-ship stamps runtime data onto a copy of the generic runtime template. This page documents the compatibility surface at a high level. It is not a general-purpose file format for other tools to write.
Important
Treat the stamped runtime data as private executable metadata. Release tooling
should read .info.json, .runtime.lock, .packages.txt, and .sha256
instead of parsing or writing bytes inside the runtime binary.
Location#
Runtime data is appended to the staged runtime binary.
For embedded builds, the compressed bundle bytes are also appended before the footer. The runtime reads the footer, validates checksums, and then reads the stamped header and optional bundle.
Header Fields#
The stamped header records:
schema_versionRuntime data schema version.
runtime_nameName of the generated runtime executable. Embedded layouts use the
zsuffix.runtime_versionVersion shown by the generated runtime and written to prefix ownership metadata.
embedded_runtime_nameConventional embedded runtime name for the same base runtime.
delegateExecutable inside the managed prefix that receives pass-through arguments.
display_nameUser-facing runtime name.
install_schemeStamped install scheme, such as
conda-homeoruser-data.install_nameName used inside the install scheme.
metadata_fileOwnership metadata filename written inside the managed prefix.
bundle_env_varRuntime-specific environment variable for an external bundle path.
offline_env_varRuntime-specific environment variable for offline bootstrap mode.
docs_urlDocumentation URL shown in runtime help.
install_methodOptional package-manager or installer hint used after
uninstall.runtime_configResolved runtime channels and package names used for metadata and status output.
runtime_lockRuntime lock used for bootstrap.
Compatibility Notes#
Generated runtimes are expected to read the format written by the same conda-ship release family. Downstream tools should treat the staged runtime as an opaque executable plus documented artifact metadata files.
Use .info.json, .runtime.lock, .packages.txt, and .sha256 for release
automation instead of parsing the appended runtime data directly.