Skip to main content

ProofForge SDK-V0 (Python)

Thin Python client that spawns the product CLI and parses JSON / on-disk proof-forge.output.v1 manifests. It is not a second compiler and does not write Tool Lock tools via PATH fallback.

Authority: docs/product/01-toolchain-install-surface.md §9.

Install / import

Engineering-dist (recommended)

# From PyPI after tag release (Trusted Publishing):
pip install proof-forge-sdk==0.1.1

# Or from GitHub Release asset / local package:
# pip install ./proof_forge_sdk-0.1.0-py3-none-any.whl

export PROOF_FORGE_CLI=/path/to/proof-forge-next   # required for most calls
# optional: CLI dist root for doctor/install engines
# export PROOF_FORGE_ROOT=/path/to/proof-forge-next-0.1.0-linux-x86_64

Publish docs and PyPI Trusted Publisher setup table: docs/product/06-pypi-host-sdk.md.

From monorepo (development)

export PROOF_FORGE_ROOT=/absolute/path/to/proof_forge
export PYTHONPATH="$PROOF_FORGE_ROOT/tools/sdk${PYTHONPATH:+:$PYTHONPATH}"
export PROOF_FORGE_CLI="$PROOF_FORGE_ROOT/.lake/build/bin/proof-forge-next"

Build wheel locally: just package-host-sdkdist/*.whl.

from proof_forge_sdk import ProofForgeClient, load_output_manifest

client = ProofForgeClient()
print(client.list_targets().parsed)
print(client.doctor(targets=["quint"]).parsed)
# Non-interactive plan only:
print(client.install(targets=["quint"], dry_run=True).parsed)
# After a product build:
# r = client.build("Examples/Counter.lean", module="Examples.Counter",
#                  target="quint", output="/tmp/pf-out")
# External ProgramV1 tree: pass root=... through build/check/local.
# r = client.local(target="aleo", source="src/Hello.lean", module="Hello", root="/tmp/external-pf")
# manifest = client.load_output_manifest("/tmp/pf-out")

API surface

Method CLI mapping
list_targets(include_all=False) list-targets [--all] --json
doctor(targets=…, with_runtime=…) doctor --jsonproof-forge.doctor.v1
install(targets=…, all_core=…, dry_run=…, yes=True) install --yes/--dry-run --json
build(source, module=…, target=…, output=…) build … --json (no network/broadcast)
check(source, module=…) check … --json
inspect_artifacts(output_dir) inspect --output-dir … --json
inspect_target(target) inspect <target> --json
local(target=…, mode=…, source=…, module=…, root=…, runs=…) local --target … -- --source … --module … [--root …] (Aleo sandbox generic; passes external project root when provided; no broadcast)
chain_catalog(target=…) static chain client/frontend catalog (proof-forge.chain-client-catalog.v1)
load_output_manifest(output_dir) parse manifest.json (schemaVersion=proof-forge.output.v1)

CliResult fields: ok, exit_code, command, stdout, stderr, parsed, error, product_ok (also camelCase in to_dict()).

CLI helper

/usr/bin/python3 -I tools/sdk/proof_forge_sdk.py --self-check
/usr/bin/python3 -I tools/sdk/proof_forge_sdk.py doctor --target quint
/usr/bin/python3 -I tools/sdk/proof_forge_sdk.py install --targets quint --dry-run
/usr/bin/python3 -I tools/sdk/proof_forge_sdk.py load-manifest /path/to/output
/usr/bin/python3 -I tools/sdk/proof_forge_sdk.py chain-catalog --target aleo

Boundaries

  • Target menu = TargetRegistryV1 implemented only; design-only (soroban / icp / openvm) stay unsupported.
  • Install never PATH-falls tools into PROOF_FORGE_TOOL_ROOT.
  • Aleo snarkos remains I3 honesty (not Tool Lock; features=test_network).
  • Does not set deployable=true; success is not formal / hermetic / mainnet evidence.
  • No default network broadcast helper (use product CLI network --broadcast explicitly).

Smoke

scripts/sdk_smoke.sh

Download files

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

Source Distribution

proof_forge_sdk-0.1.1.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

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

proof_forge_sdk-0.1.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file proof_forge_sdk-0.1.1.tar.gz.

File metadata

  • Download URL: proof_forge_sdk-0.1.1.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for proof_forge_sdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9fc28328aef31aff7d3fc35e45e1b0bcf13a1780c8edf56c82a5957b068cddcf
MD5 ded2183832b49f014612a308f4f1d5ca
BLAKE2b-256 e806b40c2241b955dd8c3fbc15c6009a84ec75cde34962de827780a21a86dd1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for proof_forge_sdk-0.1.1.tar.gz:

Publisher: release-engineering-dist.yml on DaviRain-Su/proof_forge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file proof_forge_sdk-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for proof_forge_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0e425dca314b25faaae4b12df951e0983c37823aae666afd58a049fcd75f0d73
MD5 0e9b80cc8c48f0c43823dc53e9b36c7a
BLAKE2b-256 c215fd2931353c8064d4618ef1fe779259f55f6e208c182c2ca7639e46cb9299

See more details on using hashes here.

Provenance

The following attestation bundles were made for proof_forge_sdk-0.1.1-py3-none-any.whl:

Publisher: release-engineering-dist.yml on DaviRain-Su/proof_forge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page