Skip to main content

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 runesdk (the bare rune name is contested/likely taken — a crowded cluster of rune-* packages already exists). The CLI command itself is still rune — only the package name you pip install differs, same as the JS side installs as @north-research/rune but runs as rune.

Install

pip install runesdk

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 mcp package (installed automatically as a dependency) for rune 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 mcp SDK's tools are defined as explicit @mcp.tool()-decorated functions (src/rune/mcp/server.py), not a dynamically-built list like the JS side's tools.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

north_rune-0.1.0.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

north_rune-0.1.0-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file north_rune-0.1.0.tar.gz.

File metadata

  • Download URL: north_rune-0.1.0.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for north_rune-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bfb631833c61d14bd32102739ae4e23929ec77fd94f9560d4b3d5cd960145ee4
MD5 72b8fc0375ae2e8e153a0d835c8affcb
BLAKE2b-256 1c17da7116742106d8581cd5631bf46e67c4da02374ad383ca7cb9890ff87a3e

See more details on using hashes here.

File details

Details for the file north_rune-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: north_rune-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for north_rune-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 913683446597e952925d9435442cc0a5e1dbb6952a0d06fe8dc395f1745f4cee
MD5 e9a4d3b48b24f40b536e6c44a5dff675
BLAKE2b-256 c2efe61a5bf04f6bfa12cb561444489cadade34e2a422f7b9649b123beea281a

See more details on using hashes here.

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