Documentation Index
Fetch the complete documentation index at: https://nono.sh/docs/llms.txt
Use this file to discover all available pages before exploring further.
Requirements
- Python 3.10 or higher
- Linux (kernel 5.13+ with Landlock) or macOS (10.5+)
Install from PyPI
The simplest way to install nono-py:
Or with your preferred package manager:
Install from Source
To build from source, you need the Rust toolchain:
1. Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
2. Clone and Build
git clone https://github.com/always-further/nono-py.git
cd nono-py
# Install with pip
pip install .
# Or use maturin directly
pip install maturin
maturin develop
Verify Installation
import nono_py
# Check version
print(f"nono-py version: {nono_py.__version__}")
# Check platform support
info = nono_py.support_info()
print(f"Platform: {info.platform}")
print(f"Supported: {info.is_supported}")
print(f"Details: {info.details}")
Expected output on a supported system:
nono-py version: 0.9.0
Platform: macos
Supported: True
Details: Seatbelt sandbox available
Development Installation
For contributing or local development:
git clone https://github.com/always-further/nono-py.git
cd nono-py
# Create virtual environment
python -m venv .venv
source .venv/bin/activate
# Install dev dependencies and build
pip install maturin pytest mypy ruff
maturin develop
# Run tests
pytest tests/ -v
Or using uv:
git clone https://github.com/always-further/nono-py.git
cd nono-py
# Install dependencies and build
uv sync
uv run maturin develop
# Run tests
uv run pytest tests/ -v
Troubleshooting
ImportError: No module named ‘nono_py’
Ensure you’ve installed the package in your active environment:
If using a virtual environment, make sure it’s activated.
If is_supported() returns False:
- Linux: Check your kernel version (
uname -r). Landlock requires 5.13+.
- macOS: Should work on any recent version.
- Windows: Not supported.
Build Errors
If building from source fails:
- Ensure Rust is installed:
rustc --version
- Update Rust:
rustup update
- Check Python version:
python --version (3.10+ required)