bijux-cli Python Package
bijux-cli-python is the Python distribution for installing and launching the Bijux
bijux command through PyPI. It provides the Python launcher, native bridge,
fallback facade, mounted-app SDK, and a process client for an independently
installed bijux-dag executable.
Installing this wheel does not install the bijux-dag binary. The DAG
helpers are clients of that binary; they are not an in-process workflow engine
and do not define independent DAG semantics.
Install And Verify
python -m pip install bijux-cli
bijux --help
bijux doctor
python -m bijux_cli_py --help
The package is on the v0.4.1 release line and requires Python 3.11 or newer.
The bijux console entrypoint and python -m bijux_cli_py resolve the same
runtime contract.
Package Boundary
| Surface | This package owns | Upstream authority |
|---|---|---|
| Python installation | wheel and source-distribution metadata, bijux entrypoint, platform compatibility diagnostics |
pyproject.toml and packaging tests |
| native bridge | Python/Rust conversion and invocation boundary | bijux-cli runtime semantics |
| fallback facade | compatible Python access when the native bridge is unavailable | the same public bijux command contract |
| mounted apps | descriptor construction and root-compatible result envelopes | bijux discovery and routing policy |
| DAG helpers | argument construction, executable resolution, timeout, and JSON-envelope decoding | installed bijux-dag command |
This package does not own maintainer commands, repository governance, a Python-only command schema, or a Python implementation of the DAG runtime.
Runtime Resolution
The Python launcher and DAG client resolve different executables:
| Client | Required executable | Override |
|---|---|---|
bijux launcher/facade |
packaged or discoverable bijux runtime |
runtime resolution owned by bijux_cli_py._runtime |
bijux_cli_py.dag_sdk |
bijux-dag on PATH |
BIJUX_DAG_BIN |
Repository checkouts may resolve workspace binaries for development. Installed
applications should treat PATH or the explicit override as the deployment
contract, not depend on checkout discovery.
BIJUX_DAG_PY_SUBPROCESS_TIMEOUT controls the DAG process timeout. The selected
binary defines available commands and release behavior.
DAG Workflow Client
Install the DAG executable separately before using dag_sdk:
cargo install bijux-dag-cli
bijux-dag version
| Requirement | Behavior |
|---|---|
| executable | bijux-dag must be on PATH, or BIJUX_DAG_BIN must name the executable |
| transport | every operation invokes bijux-dag --json as a subprocess |
| output | helpers preserve the CLI JSON envelope rather than inventing a Python-only schema |
| temporary input | dictionary graph inputs are written to a temporary JSON file and removed after the command |
| failures | binary resolution, timeout, non-zero command status, and malformed JSON remain distinguishable |
from pathlib import Path
from bijux_cli_py import validate_dag_graph
result = validate_dag_graph(Path("workflow.dag.json"))
Use the DAG command surface for supported behavior and the release boundary before depending on a non-stable route.
Mounted Python Apps
bijux_cli_py.app_sdk builds mount descriptors and root-compatible result
envelopes for Python applications. Discovery policy and route execution remain
owned by the Rust bijux runtime.
from bijux_cli_py.app_sdk import build_python_mount_manifest
manifest = build_python_mount_manifest(
namespace="sample",
display_name="Sample App",
module="sample_app.cli",
function="main",
summary="Sample mounted Python app",
)
The mounted app guide owns callable shape, compatibility checks, manifest placement, stream discipline, and packaging.
Source Map
| Path | Responsibility |
|---|---|
python/bijux_cli_py/cli.py |
Python console entrypoint |
python/bijux_cli_py/_facade.py |
public facade and native/fallback selection |
python/bijux_cli_py/_runtime.py |
executable discovery, subprocess execution, timeout, and error classification |
python/bijux_cli_py/app_sdk.py |
mounted-app descriptors and result envelopes |
python/bijux_cli_py/dag_sdk.py |
typed bijux-dag --json process client |
src/lib.rs |
PyO3 native bridge |
tests/python/ |
Python packaging, parity, app SDK, and DAG transport contracts |
The runtime implementations live outside this crate:
crates/bijux-cliownsbijuxcommand semantics.crates/bijux-dag-runtimeowns DAG execution behavior.crates/bijux-dag-cliowns the thinbijux-dagexecutable boundary.
Failure Decisions
- Run
bijux doctorwhen the installedbijuxruntime cannot be resolved. - Use
dag_post_install_diagnostics()before offering DAG features from a Python application. - Treat an unavailable
bijux-dagexecutable as a deployment error. - Treat invalid JSON from
bijux-dagas a runtime contract failure, not a successful empty result. - Preserve the original structured command failure for diagnosis.
Internal Documentation
ARCHITECTURE.md: Rust/Python component boundaries, invocation paths, and semantic authorities.BINDINGS_AND_CONVERSIONS.md: native binding surface, bridge payloads, argument rules, and error mapping.CONTRACTS.md: package ownership, process boundaries, invariants, and failure behavior.MOUNTED_APPS.md: Python application descriptors, interpreter discovery, and stream discipline.PACKAGING_AND_COMPATIBILITY.md: wheel construction, entrypoint ownership, path precedence, and release verification.RUNTIME_SELECTION.md: native import policy, subprocess resolution, timeout, failure classification, and parity rules.
References
- Package contracts:
docs/CONTRACTS.md - Runtime crate:
crates/bijux-cli - DAG runtime crate:
crates/bijux-dag-runtime - DAG executable crate:
crates/bijux-dag-cli - Python bridge crate:
crates/bijux-cli-python - Mounted app guide:
crates/bijux-cli-python/docs/MOUNTED_APPS.md - Package changelog:
crates/bijux-cli-python/CHANGELOG.md - Repository handbook: CLI handbook
License
Apache-2.0 (repository LICENSE).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bijux_cli-0.4.1.tar.gz.
File metadata
- Download URL: bijux_cli-0.4.1.tar.gz
- Upload date:
- Size: 454.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
814657b0f133aa5bfdbb98f8868b287249a7f3355cabc355d53b0864f7f858d3
|
|
| MD5 |
8e910ea85e9bc7279b385144d926ecb3
|
|
| BLAKE2b-256 |
b9f49fa0bfd8fe8505e01e7260ec40d8a62ba47c187d2997c32a23ec0ce34c2f
|
Provenance
The following attestation bundles were made for bijux_cli-0.4.1.tar.gz:
Publisher:
release-pypi.yml on bijux/bijux-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bijux_cli-0.4.1.tar.gz -
Subject digest:
814657b0f133aa5bfdbb98f8868b287249a7f3355cabc355d53b0864f7f858d3 - Sigstore transparency entry: 2247513750
- Sigstore integration time:
-
Permalink:
bijux/bijux-core@901b77e582016fcacd438aa6a407059e536c1974 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bijux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@901b77e582016fcacd438aa6a407059e536c1974 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file bijux_cli-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: bijux_cli-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.11+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a8e6f4f97ea1a60f4838ef2c81791f6f58f20b08aa336d7f9e674d30c0c3f34
|
|
| MD5 |
75f14f44402411a119c130a9c16ec3d0
|
|
| BLAKE2b-256 |
4aa2d194da502cc80529249aa4911f63c146e3a13744475f5b7fa86ad1db6ebf
|
Provenance
The following attestation bundles were made for bijux_cli-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release-pypi.yml on bijux/bijux-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bijux_cli-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
7a8e6f4f97ea1a60f4838ef2c81791f6f58f20b08aa336d7f9e674d30c0c3f34 - Sigstore transparency entry: 2247514238
- Sigstore integration time:
-
Permalink:
bijux/bijux-core@901b77e582016fcacd438aa6a407059e536c1974 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/bijux
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@901b77e582016fcacd438aa6a407059e536c1974 -
Trigger Event:
workflow_dispatch
-
Statement type: