This is a namespace package for custom nodes and subgraphs for maize. Place custom nodes in an appropriate subfolder under maize/steps/
, following the provided template.
Due to current issues with installing dependencies from internal GitHub repositories, maize-contrib currently bundles a recent version of the maize core. To install, simply clone this repository and run:
conda env create -f env-users.yml
conda activate maize
pip install --no-deps ./
If you want to keep up-to-date with the latest changes to the core, clone maize, switch to the directory, and run (in the same conda environment):
pip install --no-deps ./
If you plan on developing, you should use env-dev.yml
instead and use the -e
flag for pip
. If you encounter slow installs or dependency resolution, consider using mamba as a drop-in conda
replacement.
Simply import the relevant steps from the subpackage:
from maize.steps.mai.example import Example
See the documentation for details on the included steps and utilities.
Follow the development guidelines for maize.
Because this is a namespace package, some development tools (especially linters) can have problems. I have switched from pylint to ruff which seems to handle these environments with no problems. For mypy it is important to specify MYPY_PATH
and explicit-package-bases
(see also this issue). If you're using VSCode, you will want to point Pylance
to both the maize
and maize-contrib
package directories, or it will be unable to find utilities
subpackages.
Maize and this repository for contributions are considered to be in a pre-production stage. The core feature set is complete, but there may be some occasional problems running certain workflows, and there are probably many unknown edge cases.