Skip to main content

Jumla

PyPI - Version GitHub Issues or Pull Requests GitHub last commit PyPI - Downloads PyPI - License GitHub repo size X (formerly Twitter) Follow

Jumla is a Python package for programmatically generating structured datasets of Lean 4 verification tasks from Python functions, complete with specifications, test cases, and formal proof scaffolds.

"Don't ship vibes — ship proofs."


📦 Installation

If installing from pypi:

pip install jumla

This installs the CLI command:

jumla

Usage

Generate a Lean dataset from a single Python task file:

jumla examples/min_of_three.py

Or process all Python files in a folder:

jumla examples/

Output will be written to the dataset/ folder (e.g. dataset/task_id_0/).

Use --log for detailed debug output:

jumla examples/ --log

Development Setup

[!NOTE] Install uv (if not already)

curl -LsSf https://astral.sh/uv/install.sh | sh

Clone the repo

git clone https://github.com/mmsaki/jumla
cd jumla

Create a virtual environment

uv venv
source .venv/bin/activate

Install the project in editable mode

uv sync
uv pip install -e .

Run the CLI

jumla examples/

Example Structure

# examples/min_of_three.py
import inspect, textwrap

def minOfThree(a: int, b: int, c: int) -> int:
    return min(a, b, c)

function = textwrap.dedent(inspect.getsource(minOfThree))

description_doc = "This task requires writing a Lean 4 method..."
input_doc = "The input consists of three integers..."
output_doc = "The output is an integer..."
test_cases = [
    {"input": {"a": 3, "b": 2, "c": 1}, "expected": 1, "unexpected": [2, 3, -1]},
    ...
]

📁 Output Directory Example

dataset/
├── task_id_0/
│   ├── description.txt
│   ├── signature.json
│   ├── task.lean
│   ├── test.json
│   └── tests.lean

Let me know if you want to add Lean syntax checks, markdown summaries, or GitHub CI automation!

Metadata

Release files for jumla 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jumla 0.1.5
File Size Uploaded
jumla-0.1.5.tar.gz 7.2 kB Details

Release files / jumla-0.1.5.tar.gz

Download URL jumla-0.1.5.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0a5ab31c5870bcbe6ef101014797632e70e9e9f100d387109f85944ac148d828
BLAKE2b-256 checksum
How to use checksums
1d867c149cba1107b73d0df6710d43467e33d1d7372683e42ac040cc35995694
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.3

Release history Release notifications | RSS feed

This release

0.1.5 This release

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page