The Software Intelligence Runtime — persistent, explainable software understanding for any AI. Python distribution.
Project description
Rune (Python distribution)
The same Software Intelligence Runtime as the JS/TS package, packaged for pip install — for teams whose tooling lives in Python (CI, monorepo scripts, internal tooling) who'd rather not require Node.js just to run Rune against a JS/TS/React/Next.js/Express codebase.
Feature parity with the JS version in v0.1: same fact/derived-understanding model, same React/Next.js/Express detection, same MCP tool surface, same documented limitations (heuristic regex-based extraction, no cross-file Express route-prefix resolution, dotfiles/secrets never scanned).
Package name
Published on PyPI as north-rune. (rune itself and short variants like rune-sdk/runesdk are unavailable — runesdk was rejected outright by PyPI as too similar to the existing runeq package.) The CLI command itself is still rune — only the package name you pip install differs, same as the JS side installs as @pypl100/rune but runs as rune.
Install
pip install north-rune
For local development from source:
cd python
pip install -e .
Quickstart
cd your-project
rune init
rune scan
rune serve
Same CLI shape as the JS version: rune init [dir], rune scan [dir], rune serve [dir], rune explain <id>, rune --version.
Requirements
- Python 3.10+
- The
mcppackage (installed automatically as a dependency) forrune serve
Testing
No pytest dependency required — the suite runs on Python's built-in unittest:
python -m unittest tests.test_scan -v
To verify the live MCP server (the one thing the unit tests can't cover, since it needs the real mcp package installed and a real subprocess handshake):
pip install -e .
python scripts/verify_mcp_server.py
# or against a real project:
python scripts/verify_mcp_server.py /path/to/your-project
Differences from the JS version worth knowing
- The Python
mcpSDK's tools are defined as explicit@mcp.tool()-decorated functions (src/rune/mcp/server.py), not a dynamically-built list like the JS side'stools.js. This was a deliberate choice: the decorator pattern is the most version-stable, best-documented part of the Python MCP SDK's API, which matters most for the one part of this port that couldn't be tested without a real install. - ID formatting differs cosmetically (hex counters, same scheme) but the scoping guarantee is identical: ids reset per scan and are unique within a scan.
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 north_rune-0.1.2.tar.gz.
File metadata
- Download URL: north_rune-0.1.2.tar.gz
- Upload date:
- Size: 15.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39db2d18305bcc5abc7a944e12c52e2c438355ae23a75fcf04ac4d02207ba015
|
|
| MD5 |
9d8261dd5f5740f7af34813c7ec2e0c8
|
|
| BLAKE2b-256 |
6bda98f414b0f21065071bfa7046bfe32ade30166fe1df3862f664bdde6e74cf
|
File details
Details for the file north_rune-0.1.2-py3-none-any.whl.
File metadata
- Download URL: north_rune-0.1.2-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fc94ee8eb1db39eeb2bfeac1a7fd6d697f8b1b7f8c711c233347dd374e00f08
|
|
| MD5 |
950e7bef7b83e73968abe822e3b15373
|
|
| BLAKE2b-256 |
5692107e56bdeceeca6d6932101ba86a3c4179802e254aa245aa89b2c1a47447
|