Nexus = filesystem/context plane.
Project description
Nexus = filesystem/context plane.
⚠️ Beta: Nexus is under active development. APIs and deployment defaults may change.
What Nexus Does
Nexus gives agents one place to read, write, search, and carry context across files, services, and runs. The core abstraction is a VFS-style interface that can start local in-process and grow into a daemon-backed deployment when you need remote access, permissions, or multi-tenant control.
Quick Start
This is the verified source-checkout path as of March 11, 2026. It uses uv,
Python 3.14, the lightweight requirements-minimal.txt set, and does not
require a Rust build.
uv venv --python 3.14
source .venv/bin/activate
uv pip install -r requirements-minimal.txt
uv pip install -e . --no-deps
python - <<'PY'
from nexus.sdk import connect
nx = connect(
config={
"profile": "minimal",
"data_dir": "./nexus-data",
}
)
nx.sys_write("/hello.txt", b"Hello, Nexus!")
print(nx.sys_read("/hello.txt").decode())
nx.close()
PY
Expected output:
Hello, Nexus!
The commands below assume the same activated .venv.
Local CLI path from a source checkout:
python -m nexus.cli.main init .nexus-cli-demo
export NEXUS_DATA_DIR="$PWD/.nexus-cli-demo/nexus-data"
python -m nexus.cli.main write /workspace/hello.txt "hello from cli"
python -m nexus.cli.main cat /workspace/hello.txt
python -m nexus.cli.main ls /workspace
If you installed from PyPI, use nexus instead of python -m nexus.cli.main.
Optional Capabilities
- Full dev/test environment:
uv sync --extra dev --extra test - txtai/FAISS semantic search stack:
uv sync --extra semantic-search - Optional Rust BLAKE3 acceleration:
maturin develop --release -m rust/nexus_pyo3/Cargo.toml - Rust metastore / federation extensions:
maturin develop --release -m rust/nexus_raft/Cargo.toml --features pythonor--features full
Troubleshooting
ModuleNotFoundError: No module named 'nexus': you are in a source checkout without installing the package into the active interpreter. Use theuvsetup above or installnexus-ai-fsfrom PyPI.maturin develop --releasefails at the repo root: the root Cargo.toml is a workspace manifest. Pointmaturinat a crate manifest underrust/.Rust BLAKE3 extension not available: this is an optional performance path. The default quickstart uses the Pythonblake3package.faiss-cpuresolution fails: stay on the default source quickstart above, or opt intosemantic-searchonly on a platform with compatibletxtai/faiss-cpuwheels.
For the full walkthrough, see the quickstart page.
Three Landing Paths
- Local SDK: Start local, keep the filesystem/context plane inside your process, and integrate from Python. Docs: Local SDK path
- Shared daemon: Run
nexusdwhen you need a long-lived service, remote clients, or operational controls. Docs: Shared daemon path - Architecture: Read the kernel, storage, and proposal docs before changing the system model. Docs: Architecture path
Trust Boundaries
- The quickstart above is a local path. It is intentionally smaller than a production deployment.
- Remote SDK access uses the
remoteprofile and depends on a runningnexusdplus a configured gRPC port. - Permissions, memory, and federation are deployment capabilities, not implied by the basic local write/read example.
Architecture
┌──────────────────────────────────────────────────────────────┐
│ SERVICES (user space) │
│ Loadable at runtime. ReBAC, Auth, Agents, Search, Skills… │
└──────────────────────────────────────────────────────────────┘
↓ protocol interface
┌──────────────────────────────────────────────────────────────┐
│ KERNEL │
│ VFS, MetastoreABC, ObjectStoreABC, syscall dispatch, │
│ pipes, lock manager, three-phase dispatch (LSM hooks) │
└──────────────────────────────────────────────────────────────┘
↓ dependency injection
┌──────────────────────────────────────────────────────────────┐
│ DRIVERS │
│ redb, S3, PostgreSQL, Dragonfly, LocalDisk, gRPC… │
└──────────────────────────────────────────────────────────────┘
| Tier | Linux Analogue | Nexus | Swap time |
|---|---|---|---|
| Kernel | vmlinuz (scheduler, mm, VFS) | VFS, MetastoreABC, syscall dispatch | Never |
| Drivers | Compiled-in drivers (=y) |
redb, S3, PostgreSQL, SearchBrick | Config-time (DI) |
| Services | Loadable kernel modules (insmod/rmmod) |
23 protocols — ReBAC, Mount, Auth, Agents, … | Runtime |
Invariant: Services depend on kernel interfaces, never the reverse. The kernel operates with zero services loaded.
Four Storage Pillars
Storage is abstracted by capability (access pattern + consistency guarantee), not by domain:
| Pillar | ABC | Capability | Kernel role |
|---|---|---|---|
| Metastore | MetastoreABC |
Ordered KV, CAS, prefix scan, optional Raft SC | Required — sole kernel init param |
| ObjectStore | ObjectStoreABC |
Streaming blob I/O, petabyte scale | Interface only — mounted dynamically |
| RecordStore | RecordStoreABC |
Relational ACID, JOINs, vector search | Services only — optional |
| CacheStore | CacheStoreABC |
Ephemeral KV, Pub/Sub, TTL | Optional — defaults to NullCacheStore |
Deployment Profiles (Distros)
Same kernel, different service sets — like Linux distros:
| Profile | Linux Analogue | Target | Services |
|---|---|---|---|
| minimal | initramfs | Bare minimum | 1 |
| embedded | BusyBox | MCU, WASM (<1 MB) | 2 |
| lite | Alpine | Pi, Jetson, mobile | 8 |
| full | Ubuntu Desktop | Desktop, laptop | 21 |
| cloud | Ubuntu Server | k8s, serverless | 22 (all) |
| remote | NFS client | Client-side proxy | 0 |
See Kernel Architecture for the full design.
Examples
| Framework | Description | Location |
|---|---|---|
| CrewAI | Multi-agent collaboration | examples/crewai/ |
| LangGraph | Permission-based workflows | examples/langgraph_integration/ |
| Claude SDK | ReAct agent pattern | examples/claude_agent_sdk/ |
| OpenAI Agents | Multi-tenant with memory | examples/openai_agents/ |
| Google ADK | Agent Development Kit | examples/google_adk/ |
| CLI | 40+ shell demos | examples/cli/ |
Contributing
git clone https://github.com/nexi-lab/nexus.git
cd nexus
uv python install 3.14
uv sync --extra dev --extra test
uv run pre-commit install
uv run pytest tests/
If you are working on the txtai search stack, add --extra semantic-search.
License
© 2026 Nexi Labs, Inc. Licensed under Apache License 2.0 — see LICENSE for details.
Project details
Release history Release notifications | RSS feed
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 nexus_ai_fs-0.9.1.tar.gz.
File metadata
- Download URL: nexus_ai_fs-0.9.1.tar.gz
- Upload date:
- Size: 2.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b07f5a412f11d7146102b905512e05035b1037e043edf44a7a08a25f16118dd9
|
|
| MD5 |
e7b825d54b90dc5d52235c68384044c7
|
|
| BLAKE2b-256 |
3847ff3cea76538f164db61f65b06697a2c9f254fa9bfda1c7b896956f4aef40
|
File details
Details for the file nexus_ai_fs-0.9.1-py3-none-any.whl.
File metadata
- Download URL: nexus_ai_fs-0.9.1-py3-none-any.whl
- Upload date:
- Size: 2.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7abd517ef076d1115f4eb1217f6dd42374c99b4340530534b65d851544db69d
|
|
| MD5 |
06b4fab2f2c9aaa17d50989bbfbdc03f
|
|
| BLAKE2b-256 |
5675347b211c534a8872d506c9f7afaca75a3b8339c85c479d51e169f6098fd3
|