-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.justfile
More file actions
53 lines (47 loc) · 3.05 KB
/
project.justfile
File metadata and controls
53 lines (47 loc) · 3.05 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
## Add your own just recipes here. This is imported by the main justfile.
# ============== Notebook recipes ==============
# Execute notebooks with papermill and copy to docs for mkdocs-jupyter to render
[group('documentation')]
render-notebooks:
@echo "Executing notebooks and copying to docs..."
@mkdir -p notebooks/output docs/notebooks
# Execute with papermill (suppress warnings for cleaner output)
PYTHONWARNINGS="ignore::DeprecationWarning,ignore::UserWarning" uv run papermill notebooks/01_getting_started.ipynb notebooks/output/01_getting_started.ipynb
PYTHONWARNINGS="ignore::DeprecationWarning,ignore::UserWarning" uv run papermill notebooks/02_advanced_usage.ipynb notebooks/output/02_advanced_usage.ipynb
PYTHONWARNINGS="ignore::DeprecationWarning,ignore::UserWarning" uv run papermill notebooks/03_python_api.ipynb notebooks/output/03_python_api.ipynb
PYTHONWARNINGS="ignore::DeprecationWarning,ignore::UserWarning" uv run papermill notebooks/04_linkml_validate_integration.ipynb notebooks/output/04_linkml_validate_integration.ipynb
PYTHONWARNINGS="ignore::DeprecationWarning,ignore::UserWarning" uv run papermill notebooks/05_tsv_csv_validation.ipynb notebooks/output/05_tsv_csv_validation.ipynb
# Copy executed notebooks to docs for mkdocs-jupyter plugin to render
cp notebooks/output/01_getting_started.ipynb docs/notebooks/01_getting_started.ipynb
cp notebooks/output/02_advanced_usage.ipynb docs/notebooks/02_advanced_usage.ipynb
cp notebooks/output/03_python_api.ipynb docs/notebooks/03_python_api.ipynb
cp notebooks/output/04_linkml_validate_integration.ipynb docs/notebooks/04_linkml_validate_integration.ipynb
cp notebooks/output/05_tsv_csv_validation.ipynb docs/notebooks/05_tsv_csv_validation.ipynb
@echo "✅ Notebooks executed and copied to docs/notebooks/"
# Run all Jupyter notebooks using papermill to test they execute without errors
[group('documentation')]
run-notebooks:
@echo "Running notebooks with papermill..."
@mkdir -p notebooks/output
uv run papermill notebooks/01_getting_started.ipynb notebooks/output/01_getting_started_output.ipynb
uv run papermill notebooks/02_advanced_usage.ipynb notebooks/output/02_advanced_usage_output.ipynb
uv run papermill notebooks/03_python_api.ipynb notebooks/output/03_python_api_output.ipynb
uv run papermill notebooks/04_linkml_validate_integration.ipynb notebooks/output/04_linkml_validate_integration_output.ipynb
uv run papermill notebooks/05_tsv_csv_validation.ipynb notebooks/output/05_tsv_csv_validation_output.ipynb
@echo "✅ All notebooks executed successfully!"
# Run a specific notebook
[group('documentation')]
run-notebook NOTEBOOK:
@echo "Running notebook: {{NOTEBOOK}}"
@mkdir -p notebooks/output
uv run papermill notebooks/{{NOTEBOOK}} notebooks/output/{{NOTEBOOK}}
# Clean notebook outputs
[group('documentation')]
clean-notebooks:
@echo "Cleaning notebook outputs..."
rm -rf notebooks/output docs/notebooks
@echo "✅ Notebook outputs cleaned"
# Start Jupyter Lab for interactive notebook development
[group('documentation')]
jupyter:
uv run jupyter lab notebooks/