Skip to main content

A terse sandbox and CLI for the Noxus AI Python SDK.

Project description

noxus-lab

ci python license

Workflow-as-code for Noxus AI. Build in the UI, edit in your IDE, review in pull requests, run/trace/debug from the terminal.

install

pip install noxuslab
noxuslab init my-noxus-project
cd my-noxus-project
noxuslab doctor

The init wizard prompts for NOXUS_API_KEY and writes a chmod-600 .env. Get the key at Noxus UI → Settings → Workspace → API Keys.

Unreleased commits (between tags) are still installable directly from the git repo:

pip install git+https://github.com/AdvanceWorks/noxus-lab.git@<ref>

where <ref> is a tag (v0.16.3), branch (main), or commit SHA. See RELEASING.md for the release flow.

multi-process scaffold

For repos that automate several end-to-end business processes from a single codebase (one Noxus workspace per process), use noxuslab init --multi-process:

noxuslab init --multi-process --workspace gbe --workspace ausencias my-repo

The scaffold materialises each workspace under ws/<name>/ and emits a generated ws/__init__.py (REGISTRY + PREFIX) as the single source of truth for which workspaces exist and what prefix they use on the platform. A Makefile and the bin/dev.py / bin/deploy.py runners read from there, so adding a new workspace is a one-liner. See [docs/adding_a_workspace.md] in the scaffolded repo for the full recipe; the noxus-ctt repo is a complete reference of what the layout looks like in practice.

one cheat sheet

You want to… Run
Pull a workflow from the UI to code noxuslab pull <workflow-id>
Run it locally + record logs noxuslab run examples/NN_x.py --input k=v
Inspect a past run (logs) noxuslab trace [list | show <id>]
Replay a past run noxuslab replay <run-id>
Review-before-push (dry-run+diff+log) noxuslab check examples/NN_x.py
See server-vs-local diff noxuslab diff examples/NN_x.py
Push a code-defined workflow back noxuslab push examples/NN_x.py
Switch between API-key environments noxuslab env [list | use <name>]
Talk to one of your agents noxuslab chat -a <agent-id>
One-shot question (pipe-friendly) noxuslab ask "..." -a <agent-id>
List workflows / agents noxuslab list / noxuslab agents
Manage agents as code noxuslab agents pull/push/diff/delete
Generate workflow code from a prompt noxuslab gen "..."
Auto-push on save noxuslab watch examples/NN_x.py
Reformat a workflow file noxuslab fmt examples/*.py
Open the local read-only dashboard noxuslab portal
Diagnose env / network / SDK noxuslab doctor
Serve as an MCP tool to your editor noxuslab mcp serve
Upgrade the CLI pip install --upgrade noxuslab

Full reference: docs/cli.md. Concepts: docs/concepts.md. Renderer: docs/codegen.md. MCP server: docs/mcp.md.

review loop

When a teammate builds a workflow in the Noxus UI and you want to review, test, and push back via PR:

noxuslab pull <workflow-id>             # 1. fetch as examples/NN_x.py
noxuslab run  examples/NN_x.py --input topic=...   # 2. run + log
noxuslab trace show <run-id>            # 3. read the logs
noxuslab check examples/NN_x.py         # 4. dry-run + diff + last-trace
git switch -c review/<short>            # 5. branch + commit
git commit -am "review: <workflow-name>"
git push -u origin HEAD                 # 6. open the PR
# ... after PR review ...
noxuslab push examples/NN_x.py          # 7. ship to Noxus

noxuslab check is the single "safe-to-commit?" gate: it dry-runs the file, diffs it against the server (provenance header carries the id, so no UUID needed), and prints the latest local trace status. Exit 0 means clean; exit 1 means fix something first.

why

The Noxus UI is great for sketching. Code is great for diffing, reviewing, sharing, and version-controlling. noxuslab pull <id> turns a workflow built in the UI into a clean Python file you can edit and push back. Examples under examples/ are top-level scripts — read top-to-bottom, no magic.

philosophy

Three rules:

  1. The reader matters more than the writer. Examples are read 100 000 times for every time they're written. Optimise for the reader on day one, sitting in front of 01_hello.py.
  2. Small surface, sharp edges. The package exports workflow_to_python and a CLI. Everything else is private (_term, _net, _secrets, _audit, …). When in doubt about adding something, don't.
  3. Standard library first. Hard deps: noxus-sdk and python-dotenv. Everything else is stdlib.

contributing

See docs/contributing.md and AGENTS.md. Three commands cover the inner loop:

pip install -e ".[dev]"
ruff check . && ruff format .
pytest

CI mirrors that on Linux, macOS, and Windows. Conventional Commits required; pre-commit handles ruff + gitleaks; pre-push runs pytest.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

noxuslab-0.16.3.tar.gz (119.1 kB view details)

Uploaded Source

Built Distribution

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

noxuslab-0.16.3-py3-none-any.whl (92.7 kB view details)

Uploaded Python 3

File details

Details for the file noxuslab-0.16.3.tar.gz.

File metadata

  • Download URL: noxuslab-0.16.3.tar.gz
  • Upload date:
  • Size: 119.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for noxuslab-0.16.3.tar.gz
Algorithm Hash digest
SHA256 47bf2b7e47148c6decb2d818f69b809ee5708224fc597cdf1b5f7e64b03ecb96
MD5 f687f040720591bb296aa8f6a3650ce7
BLAKE2b-256 413c95bfe72c0742cad6f6723fc3c6e9c8c66923b541948f61413196459f7089

See more details on using hashes here.

Provenance

The following attestation bundles were made for noxuslab-0.16.3.tar.gz:

Publisher: release.yml on AdvanceWorks/noxus-lab

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

File details

Details for the file noxuslab-0.16.3-py3-none-any.whl.

File metadata

  • Download URL: noxuslab-0.16.3-py3-none-any.whl
  • Upload date:
  • Size: 92.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for noxuslab-0.16.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a0d0852e1106c160a060b4d9159c98d8055fbaee9011882aa0a446ad651403ba
MD5 a50481b7186b5ebae1f4c51e2f64b7eb
BLAKE2b-256 c6f7e98971be038b026d332b4f47595b92200db75fe7cf9ef5f24c8047d90aec

See more details on using hashes here.

Provenance

The following attestation bundles were made for noxuslab-0.16.3-py3-none-any.whl:

Publisher: release.yml on AdvanceWorks/noxus-lab

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page