Jumla
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)
| 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
|