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

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.

Usage

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.

Status

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.

Releases

No releases published

Packages

No packages published

Languages