Adding a new algorithm

To add new functionality that adds a new dependency, you should create a new package that users will access through RAIL’s common API.

Create a new github repository using the RAIL-project-template. This template makes use of copier to create a new repository that will use the rail namespace. The README for that project contains a few more steps you should take on your repository to include the same best practices across all rail packages.

Wrap your algorithm in rail stages, using the documentation in Adding a new Rail Stage as a guide.

Once you have created a new package that is released through pypi (don’t worry - this packaging is included in the template), you should create a PR against the rail package to add your package as a dependency. Include your new package name in the rail packages config.

TODO: add demo then continue to adding a new rail stage section above