Skip to main content

bijux-cli Python Package

Python 3.11+ PyPI License: Apache-2.0 CI Status GitHub Repository

Repository docs bijux-cli-python docs

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-cli owns bijux command semantics.
  • crates/bijux-dag-runtime owns DAG execution behavior.
  • crates/bijux-dag-cli owns the thin bijux-dag executable boundary.

Failure Decisions

  • Run bijux doctor when the installed bijux runtime cannot be resolved.
  • Use dag_post_install_diagnostics() before offering DAG features from a Python application.
  • Treat an unavailable bijux-dag executable as a deployment error.
  • Treat invalid JSON from bijux-dag as 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

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

bijux_cli-0.4.1.tar.gz (454.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bijux_cli-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

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

Hashes for bijux_cli-0.4.1.tar.gz
Algorithm Hash digest
SHA256 814657b0f133aa5bfdbb98f8868b287249a7f3355cabc355d53b0864f7f858d3
MD5 8e910ea85e9bc7279b385144d926ecb3
BLAKE2b-256 b9f49fa0bfd8fe8505e01e7260ec40d8a62ba47c187d2997c32a23ec0ce34c2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for bijux_cli-0.4.1.tar.gz:

Publisher: release-pypi.yml on bijux/bijux-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bijux_cli-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for bijux_cli-0.4.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a8e6f4f97ea1a60f4838ef2c81791f6f58f20b08aa336d7f9e674d30c0c3f34
MD5 75f14f44402411a119c130a9c16ec3d0
BLAKE2b-256 4aa2d194da502cc80529249aa4911f63c146e3a13744475f5b7fa86ad1db6ebf

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

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