Skip to main content

GnosisLab

PyPI Python License Last commit

Umbrella project — a composed research-automation distribution. Subsystems live in subfolders:

  • ml-scientist/ — the scientific-experiment MCP stack (hypothesis → experiment → evidence → conclusion): five MCP servers, sealed execution, invariant suite, observability GUIs.
  • openshell/ — (planned) NVIDIA OpenShell launch-within-shell subsystem.

Host requirements

  • Linux — trial sandboxing uses bubblewrap mount namespaces.

  • Python ≥ 3.10 and uv (curl -LsSf https://astral.sh/uv/install.sh | sh), or any pip for the PyPI path below.

  • bubblewrap + strace — required by the sealed executor; the launchers refuse to start without them:

    sudo apt install bubblewrap strace    # Debian/Ubuntu
    
  • Ports 38050–38091 free (five servers × MCP + GUI; see ml-scientist/ports.env to move them).

Install

From source (this repository)

git clone <this-repo> gnosislab && cd gnosislab
uv sync          # one root env for the whole distribution

ml-scientist/ is also independently runnable — cd ml-scientist && uv sync gives it its own env.

From PyPI

pip install gnosislab        # or, better for CLI use:
uv tool install gnosislab    # isolated env, commands on PATH

This installs the gnosislab lifecycle command plus the five MCP servers (ml-episteme-mcp, ml-anamnesis-mcp, ml-zetesis-mcp, ml-arete-mcp, ml-agora-mcp):

gnosislab start all
gnosislab status
gnosislab config          # resolved ports + config file location

Ports: built-in defaults (38050–38091) are overridden by ~/.config/gnosislab/ports.env (same KEY=VALUE format as the repo's ports.env) and by ML_* environment variables. Runtime state lives in ~/.ml-<name>/.

Run

gnosislab is a symlink at the repo root into ml-scientist/:

./gnosislab start all     # upstreams first, agora last
./gnosislab status        # pid/ports/health per server
./gnosislab logs arete
./gnosislab stop all

(./labloop still works — transition symlink, prints a rename notice.)

To launch from anywhere, put it on PATH:

ln -sf "$PWD/gnosislab" ~/.local/bin/gnosislab
gnosislab start all

Per-server observability GUIs: anamnesis :38091, episteme :38081, zetesis :38071, arete :38061, agora :38051 (lab-level status hub). Each server also responds to ml-<name>-mcp run directly in the foreground via ml-scientist/run-ml-<name>.sh for debugging.

Config: ml-scientist/ml-*.toml (per server) + ports.env. Runtime state lives outside the repo in ~/.ml-<name>/ (databases, logs, pidfiles).

Test

uv run pytest -q     # full suite (1289 tests)

Stats

Publish

uv build
uv publish --publish-url https://test.pypi.org/legacy/   # TestPyPI
uv publish                                               # PyPI

Metadata

Release files for gnosislab 0.1.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gnosislab 0.1.15
File Size Uploaded
gnosislab-0.1.15.tar.gz 7.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for gnosislab 0.1.15
File Interpreter ABI Platform
gnosislab-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 8.3 MB

Release files / gnosislab-0.1.15.tar.gz

Download URL gnosislab-0.1.15.tar.gz
Size 7.5 MB
Tags Source
SHA-256 checksum
How to use checksums
6f68bfd3b06af7867fafdfc4143b0db446e653e2ba8b28aee6e4a14b6f889520
BLAKE2b-256 checksum
How to use checksums
4883346c8529d2ebdc2f35aaa7606c006b413a953b618df27bedc8c0ced47c26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / gnosislab-0.1.15-py3-none-any.whl

Download URL gnosislab-0.1.15-py3-none-any.whl
Size 805.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
84d7a34a49e761c0db9ba8f29d7a60104d76f5cc8d6365d8ed6c350f8439efe0
BLAKE2b-256 checksum
How to use checksums
d36d3ae5e36f30b88b33791e9bfe08cddc160c96bc0546e5d509382fd255850c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.3","id":"zena","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.15 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

2 release 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