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.15.0), branch (main), or commit SHA. See RELEASING.md for the release flow.

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.15.1.tar.gz (101.6 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.15.1-py3-none-any.whl (81.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for noxuslab-0.15.1.tar.gz
Algorithm Hash digest
SHA256 ef975bbd9053efec02e16ed13db92228ee96f951dd7819caf4161e6666d68ae5
MD5 ef9f01df0630fc52f3b39e0405780953
BLAKE2b-256 d8013fa37d8ba8ccb3ab62df57a6478fb72ebed26b1ce72c28d01c76b8b9d10b

See more details on using hashes here.

Provenance

The following attestation bundles were made for noxuslab-0.15.1.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.15.1-py3-none-any.whl.

File metadata

  • Download URL: noxuslab-0.15.1-py3-none-any.whl
  • Upload date:
  • Size: 81.3 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.15.1-py3-none-any.whl
Algorithm Hash digest
SHA256 992bd4de4217867cd4931c9d1f9169a0c06e6859aebccbff3eaddadfbdb8f302
MD5 0300bfe67cb16af15e8503650f2fb783
BLAKE2b-256 5037fedfb73b1a933532163ca0872a35d23d227401aacee9cd58fed036891b2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for noxuslab-0.15.1-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