This release is a pre-release and may not be stable for production use.
Oruk Export — alpha
Customer-run Hume metadata archives, offline verification/copying, and a separate explicit audio-preservation command. Archives may contain prompts, transcripts and customer secrets. They are unencrypted and belong in customer-controlled private storage. These tools do not import an account into Oruk or Hume, recreate a custom voice, infer cloning rights, or prove a complete point-in-time backup.
This source prepares Python oruk-export 0.1.0a2 and npm @oruk/export
0.1.0-alpha.2. The names and install examples are proposed package interfaces,
not proof that Oruk controls the registry names or that either package is
published. Use reviewed local artifacts until a registry delivery is verified.
Requirements
- macOS or Linux, with POSIX no-follow and private-file operations.
- Python 3.10 or later. The Python runtime has no third-party dependencies.
- The npm wrapper additionally requires Node 18 or later and an already installed Python 3.10+. It does not install or download Python. It is not a standalone JavaScript exporter. Native Windows private-archive support is not implemented.
After installing a reviewed local wheel or npm tarball, both packages expose:
oruk-export --plan
oruk-export --help
oruk-export-audio --help
These planning/help commands require no provider key or request. The npm wrapper
looks for python3 on PATH. If necessary, set ORUK_EXPORT_PYTHON to an existing
Python executable path; it is an executable name/path, not a shell command.
The wrapper uses isolated Python startup and the exact Python sources included
in the package. It has no install scripts, runtime downloads or shell
interpolation. It forwards arguments, standard input/output, exit codes and
SIGINT/SIGTERM/SIGHUP cancellation; after five seconds it asks a still-running
direct child to stop with SIGKILL and waits for actual child closure. This is
not a hard kernel deadline or ownership of arbitrary child-created processes.
Metadata and offline modes
oruk-export --export --output /absolute/real/parent/new-export performs the
explicit metadata collection using HUME_API_KEY from the environment. Do not
put the key in a command argument. Metadata mode does not reconstruct or download
audio. It collects all-version config/prompt/tool records, groups, chats, events
and custom-voice metadata. A completed-section result is not a stable account
snapshot; changing data, caps or inconsistent pages can produce a partial archive.
oruk-export --verify /absolute/real/parent/saved-export
oruk-export --restore /absolute/real/parent/saved-export --output /absolute/real/parent/new-copy
Verification and restoration are offline. Restoration means an exact private
local copy, not a service import. An independently retained
--expected-manifest-sha256 can bind the intended inventory. A self-consistent
manifest alone does not establish provider authenticity or latestness. Valid
partial archives remain visibly partial.
Audio is a separate explicit operation
Use oruk-export-audio --help for its exact current options and limits before
any provider operation; this audio version has no --plan mode. Hume's audio retrieval endpoint may queue
reconstruction; it is not a read-only metadata operation. Audio reconstruction,
status observation and signed-URL download require the command's explicit
opt-in, source pin and exact host controls. Pending/failed/expired audio remains
an incomplete result. A signed URL is not a durable backup. The API key is not
forwarded to the audio download host.
The audio command also offers offline modes. Both independent pins are required:
oruk-export-audio --verify /absolute/private/audio-attempt \
--metadata-archive /absolute/private/metadata-archive \
--expected-manifest-sha256 <metadata-manifest-sha256> \
--expected-audio-manifest-sha256 <audio-manifest-sha256>
oruk-export-audio --restore /absolute/private/audio-attempt \
--metadata-archive /absolute/private/metadata-archive \
--expected-manifest-sha256 <metadata-manifest-sha256> \
--expected-audio-manifest-sha256 <audio-manifest-sha256> \
--output /absolute/private/new-audio-copy
These modes read no key, perform no DNS/network requests, and never reconstruct
or resume audio. They check every expected chat and file, then recheck the copied
destination. A valid partial inventory stays partial (exit 2); saved bytes for
every selected chat yield exit 0, including an explicitly empty chat inventory.
Malformed/incomplete publication, missing final manifest or failed verification
returns exit 1. Retain an intent-only crash as unresolved. Restoration copies
only the audio attempt; retain the separately pinned metadata archive too.
Neither hashes nor saved disposition validate decoding, provider completeness
or audible content. Earlier a1 artifact tests do not qualify the a2 packages.
Both commands create new private destinations and refuse overwrite/resume of an existing attempt. Cooperative socket/deadline checks do not guarantee a hard wall-clock bound. Handle the resulting archive, copied backups and encryption keys using the customer's own controls. The MIT software license does not grant rights to export, retain, distribute or clone any customer/provider content.
Metadata
Release files for oruk-export 0.1.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| oruk_export-0.1.0a2.tar.gz | 28.5 kB | Without provenance | Details for oruk_export-0.1.0a2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| oruk_export-0.1.0a2-py3-none-any.whl | Python 3 | none | any | Details for oruk_export-0.1.0a2-py3-none-any.whl |
Total release size: 55.1 kB
Release files / oruk_export-0.1.0a2.tar.gz
| Download URL | oruk_export-0.1.0a2.tar.gz |
|---|---|
| Size | 28.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c788e35e8947e3e6e46298005246672c2bd345590ce2e62fd5e15e3bd59abb8c
|
|
BLAKE2b-256 checksum How to use checksums |
266e27fb2ab3e69116172247f5f0897731b50ee5f43583997f618e7d8c6b762b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / oruk_export-0.1.0a2-py3-none-any.whl
| Download URL | oruk_export-0.1.0a2-py3-none-any.whl |
|---|---|
| Size | 26.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a479b12742a1e707f83fedda4d6f7cac956ad8e3186ddb11390f215cdaa04cb
|
|
BLAKE2b-256 checksum How to use checksums |
c9a96ff0a38ce15fb53d26c66df781f22f14af6d7a436ec0d89ae29eb7d0c503
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Security for oruk-export 0.1.0a2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.