Skip to main content

*Forge — pipeline canvas, checkpointing, and stale/hydrate execution for the repo you already have open

Project description

*Forge (starforge)

Forge's canvas — checkpointing, provenance, stale/hydrate execution — as a VS Code extension over the repo you already have open. Blocks are ordinary Python functions tagged with @block. See DESIGN.md for the full design.

Try it (M0)

# 1. Install the kernel + decorator into the venv your target repo uses
pip install -e <forge-repo>/starforge

# 2. Build the extension
cd <forge-repo>/starforge/vscode
npm install && npm run build

# 3. Open starforge/vscode in VS Code and press F5 (extension dev host).
#    In the dev-host window, open any Python repo.

In your repo:

# analysis/blocks.py
import matplotlib.pyplot as plt
from starforge import block

@block(category="IO")
def make_numbers(n: int = 5) -> dict:
    return {"values": list(range(1, n + 1))}

@block
def scale(data: dict, factor: float = 2.0) -> dict:
    return {"values": [v * factor for v in data["values"]]}

@block
def plot(data: dict) -> dict:
    plt.plot(data["values"])
    plt.show()  # rendered inline on the canvas node
    return data

Save, run “*Forge: New Pipeline”, drag the blocks from the palette, wire output → data, hit ▶ Run. Run again — instant, everything reused. Edit scale, watch it (and only it) go stale.

Layout

Path What
src/starforge/__init__.py the @block decorator — zero-dep, the only thing user code touches
src/starforge/index/ static AST indexer (discovery, import graph, incremental cache)
src/starforge/core/ doc schema, history hashing, serializers, checkpoint store, runner
src/starforge/kernel/ stdio JSON-RPC kernel + per-run worker subprocess
vscode/ the extension (TS host + React Flow webview)
tests/ headless M0 proof — python -m pytest starforge/tests

State lives in the target repo under .forge/pipelines/ is committable, checkpoints/ and cache/ are auto-gitignored.

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

starforge_kernel-0.1.2.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

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

starforge_kernel-0.1.2-py3-none-any.whl (36.1 kB view details)

Uploaded Python 3

File details

Details for the file starforge_kernel-0.1.2.tar.gz.

File metadata

  • Download URL: starforge_kernel-0.1.2.tar.gz
  • Upload date:
  • Size: 43.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for starforge_kernel-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ef289042e2e40a024ec1cf1876bc86f1daf8a0f0e99d16ab2b3cc4a5579df960
MD5 f4148adb182a9f38f84dab718309638f
BLAKE2b-256 5f8bad87a4fc1cfbaa97a63660a566ee40420b5a1627c9511e2cb1faf8ec5eca

See more details on using hashes here.

File details

Details for the file starforge_kernel-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for starforge_kernel-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c97488de5913a3ff86b0b9d231b93c340a696bd746d9fd3bd30db2419b828da1
MD5 ef7c91f7bad3c2d34f6e4242d44c93bf
BLAKE2b-256 8f8f2a219cd38adc6f640052e7cde104f881c93754a2cd1d02476c1366e88de2

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