Skip to content

MolecularAI/maize-contrib

Repository files navigation

Maturity level-1

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.

Installation

Maize-contrib bundles a recent version of the maize core. To install both maize-contrib and maize, 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 of env-users.yml and use the -e flag for pip to make your installation editable. If you encounter slow installs or dependency resolution, consider using mamba as a drop-in conda replacement.

Usage

For the basics of the maize workflow manager, consult the maize documentation. To use nodes from this package, 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.

Development

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.

About

Contributed and additional nodes for maize

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages