Skip to main content

A Python interface for Lean 4.

Project description

LeanFlow

License: MIT Python Version Documentation

A fast, scalable, and easy-to-use Python interface to Lean 4.

LeanFlow lets you run Lean code, interact with proofs, and evaluate formal statements directly from Python.

LeanFlow Server Demo


Why LeanFlow?

  • 🚀 Fast & Efficient: Built on asyncio for high-throughput, parallel execution.
  • 🔄 Flexible Deployment: Seamlessly switch between Local Mode for development and Server Mode for scalable production workloads.
  • 🎯 Evaluation Ready: Includes built-in metrics for autoformalization like TypeCheck and BEq+ (semantic equivalence).

Installation

Install LeanFlow via pip:

pip install leanflow

Quickstart

1. Run Locally (Development)

The simplest way to start. LeanFlow automatically manages the Lean environment for you.

from leanflow import SyncREPL

repl = SyncREPL(lean_version="4.24.0", require_mathlib=True)

result = repl.run("theorem add_zero_nat (n : Nat) : n + 0 = n := by sorry")
print(result)

2. Run as a Server (Scalable)

For heavier workloads or shared environments, connect to a remote LeanFlow server.

Create a config file (server.yaml):

server:
  host: localhost
  port: 8000
repl:
  lean_version: "4.24.0"

Then, start the server:

leanflow-serve --config server.yaml

And connect from Python:

import asyncio
from leanflow import Client

async def main():
    async with Client(base_url="http://localhost:8000") as client:
        result = await client.run("theorem add_zero_nat (n : Nat) : n + 0 = n := by sorry")
        print(result)

if __name__ == "__main__":
    asyncio.run(main())

🌟 Inspiration & Acknowledgements

This project builds upon the incredible work of the Lean community. We are deeply grateful to the authors of the following projects, which directly inspired LeanFlow:

We highly recommend checking out these projects!

Special thanks to the Lean community, the contributors to Mathlib, and the authors of the Lean REPL, whose tools make this ecosystem possible.


License

LeanFlow is released under the MIT License.

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

leanflow-0.0.3.tar.gz (61.6 kB view details)

Uploaded Source

Built Distribution

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

leanflow-0.0.3-py3-none-any.whl (69.1 kB view details)

Uploaded Python 3

File details

Details for the file leanflow-0.0.3.tar.gz.

File metadata

  • Download URL: leanflow-0.0.3.tar.gz
  • Upload date:
  • Size: 61.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for leanflow-0.0.3.tar.gz
Algorithm Hash digest
SHA256 fbcac2eea03186b45812c965aac4d74ad16121862c176be80f1993c7884b6b45
MD5 c52c9505a87d091ed67ad190cd5d59fa
BLAKE2b-256 efde46387d8690a73ffbe1e66ec82988ba67312f07e590766997df72b80f8481

See more details on using hashes here.

File details

Details for the file leanflow-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: leanflow-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 69.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for leanflow-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 19a13ae951139a974fa7a197b86dc2bdcdaeb883071b858b8578efc22de938ea
MD5 d82e2f72950dc452875298a7d0848f8d
BLAKE2b-256 3bfdfc28da7669eccf8c2d391fcafe710a3f8554105b96030aabed53fee58ea1

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