-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpixi.toml
More file actions
73 lines (59 loc) · 2.56 KB
/
pixi.toml
File metadata and controls
73 lines (59 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
[workspace]
name = "py-run-mojo"
version = "0.1.3"
authors = ["Michael Booth <michael@databooth.com.au>"]
channels = ["conda-forge"]
platforms = ["osx-arm64", "linux-64", "win-64"]
description = "Run high-performance Mojo code from Python - three execution patterns"
[dependencies]
python = ">=3.12,<3.15"
[pypi-dependencies]
marimo = "*"
mojo = "*"
plotly = "*"
numpy = "*"
pytest = "*"
pytest-cov = "*"
ruff = "*"
ty = "*"
[tasks]
# Setup verification
test-setup = { cmd = "python verify_setup.py", cwd = "scripts" }
# Interactive notebooks
learn = { cmd = "marimo edit interactive_learning.py", cwd = "notebooks" }
notebook-decorator = { cmd = "marimo edit pattern_decorator.py", cwd = "notebooks" }
notebook-executor = { cmd = "marimo edit pattern_executor.py", cwd = "notebooks" }
notebook-extension = { cmd = "marimo edit pattern_extension.py", cwd = "notebooks" }
# Monte Carlo Pi estimation notebooks
notebook-mc-decorator = { cmd = "marimo edit monte_carlo_decorator.py", cwd = "notebooks" }
notebook-mc-executor = { cmd = "marimo edit monte_carlo_executor.py", cwd = "notebooks" }
notebook-mc-extension = { cmd = "marimo edit monte_carlo_extension.py", cwd = "notebooks" }
# Mandelbrot set notebooks
notebook-mandelbrot-decorator = { cmd = "marimo edit mandelbrot_decorator.py", cwd = "notebooks" }
notebook-mandelbrot-executor = { cmd = "marimo edit mandelbrot_executor.py", cwd = "notebooks" }
notebook-mandelbrot-extension = { cmd = "marimo edit mandelbrot_extension.py", cwd = "notebooks" }
# GPU puzzle notebooks (marimo)
notebook-gpu-p01-hello-threads = { cmd = "marimo edit p01_hello_threads.py", cwd = "notebooks/gpu_puzzles/p01" }
notebook-gpu-p02-zip = { cmd = "marimo edit p02_zip.py", cwd = "notebooks/gpu_puzzles/p02" }
# Benchmarks
benchmark = { cmd = "marimo edit python_vs_mojo.py", cwd = "benchmarks" }
benchmark-exec = { cmd = "marimo edit execution_approaches.py", cwd = "benchmarks" }
# Command-line demos
demo-examples = { cmd = "python examples.py", cwd = "examples" }
demo-decorator = { cmd = "python -m py_run_mojo.decorator" }
# Testing
test = "pytest tests/"
test-verbose = "pytest tests/ -v"
test-coverage = "pytest tests/ --cov=src/py_run_mojo --cov-report=term-missing"
# Code quality
format = "ruff format ."
lint = "ruff check ."
lint-fix = "ruff check --fix ."
typecheck = "ty check"
# Combined quality check
check = { depends-on = ["format", "lint", "typecheck"] }
# Development
clean-mojo-cache = "rm -rf ~/.mojo_cache/binaries/*"
cache-stats = "python -c 'from py_run_mojo.executor import cache_stats; cache_stats()'"
# CI/CD
ci = { depends-on = ["check", "test"] }