Taskfile usage#
This project uses a Taskfile (Taskfile.yml) to standardize build and install
steps for the core package and libs. Tasks are run with the task CLI.
Prerequisites#
- Install Task (go-task): https://taskfile.dev/installation/
- Install
uv(used by build and install tasks). - A working Python environment you want to target.
Quick start#
List available tasks:
Build everything:
Build and install all wheels into the default Python:
Task variables#
The Taskfile defines a few variables you can override at runtime:
PYTHON: Optional path to a Python executable, used foruv pipcommands.DIST_DIR: Output directory for built wheels (default:dist).CORE_LIB_DIR: Path to the core library package.PLUGIN_OLLAMA_DIR: Path to the Ollama plugin package.
Override variables on the command line:
Common workflows#
Build only the core packages:
Build and install just the Ollama plugin:
Uninstall all packages from the target environment:
Remove built wheels:
Task reference#
| Task | Description |
|---|---|
build:core |
Build wheel for the root project (serapeum). |
build:core-lib |
Build wheel for serapeum-core. |
build:plugin:ollama |
Build wheel for the Ollama plugin. |
build:all |
Build wheels for core and libs. |
install:core |
Install serapeum-core wheel into the target env. |
install:plugin:ollama |
Install the Ollama plugin wheel into the target env. |
install:all |
Build and install all wheels into the target env. |
uninstall:all |
Uninstall serapeum, serapeum-core, and the plugin. |
clean:dist |
Remove the wheel output directory. |
Notes#
- Install tasks are non-editable installs from the built wheels in
DIST_DIR. - If you change
DIST_DIR, make sure the install tasks point to the same directory you built into.