-
Install just and uv (if not already installed):
brew install just uv
-
Initialize the environment:
just init
-
Common commands:
just test # Run tests just docs # Build documentation just docs-serve # Serve docs locally just format # Format code just build # Build package just clean # Clean build artifacts
| Old (make) | New (just) | Description |
|---|---|---|
source ./make -a && make tests |
just test |
Run tests |
make docs |
just docs |
Build documentation |
make docs-serve |
just docs-serve |
Serve documentation |
make clean |
just clean |
Clean build artifacts |
make release <version> |
just release <version> |
Release new version |
- Before: Poetry managed dependencies
- After: uv manages dependencies (much faster)
- Migration: Dependencies moved from
[tool.poetry.dependencies]to[project.dependencies]in pyproject.toml
- Before: Poetry build backend
- After: Hatchling build backend (modern, standards-compliant)
- Before: Installed via conda through
environfile - After: Installed via
brew installinjust init - Dependencies: tmux, poetry, graphviz, imagemagick
- Before: Bash functions in
makescript - After: Just recipes in
justfile - Benefits:
- Better syntax highlighting
- Built-in help system (
just --list) - Cross-platform compatibility
- More readable recipe syntax
The old environ file approach is replaced by:
- System dependencies via
just init(uses brew) - Python dependencies via
uv sync - Environment variables can be set in
.envfiles (uv loads them automatically)
# One-time setup
just init
# Daily development
just test # Run tests
just format # Format code before committing
just docs-serve # Preview documentation
# Release workflow
just test # Ensure tests pass
just build # Build package
just release 2024.01.15 # Release with version✅ Completed:
- Basic task runner (just)
- Dependency management (uv)
- Build system (hatchling)
- Common development tasks
- System dependency installation
⏳ Not Yet Migrated:
- All advanced make functions (conda environment management, etc.)
- Git hooks and automation
- Advanced CI/CD integrations
- Coverage combination logic
- Changelog generation
These can be added incrementally as needed.