https://github.com/zenml-io/zenml-hub-plugin-template
Template for ZenML Hub Plugins
https://github.com/zenml-io/zenml-hub-plugin-template
Last synced: 3 months ago
JSON representation
Template for ZenML Hub Plugins
- Host: GitHub
- URL: https://github.com/zenml-io/zenml-hub-plugin-template
- Owner: zenml-io
- License: apache-2.0
- Created: 2023-02-21T09:48:02.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-17T07:25:09.000Z (about 2 years ago)
- Last Synced: 2025-03-01T15:41:21.206Z (3 months ago)
- Size: 8.79 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ZenML Hub Plugin Template
This template repository can be used as a starting point to develop custom
plugins for the ZenML Hub, which enables you to share your ZenML code with the
community and make it importable via
`from zenml.hub.. import ...`.## Plugin Development Process
### 1. Use this template to create a new public GitHub repository
To create your own plugin repository based on this template:
- [Open this template in GitHub](https://github.com/zenml-io/zenml-hub-plugin-template),
- Click on the big green **Use this template** button and choose **Create a new repository**,
- Enter a repository name, make sure to choose **Public** visibility, and click **Create repository from template**,Next, clone your new plugin repository so you can make changes locally.
### 2. Copy code into `src/`
Copy the source code you want to share into the `src/` folder. Anything you put
here can later be imported from `zenml.hub..`.
E.g., if `me` contributes a plugin `my_plugin` that defines a step `my_step` in
`src/my_step.py`, it can later be imported via
`from zenml.hub.me.my_plugin.my_step import my_step`.If you have multiple files that import each other, make sure to use relative
imports.### 3. Update `requirements.txt`
If your plugin depends on any packages other than `zenml` itself, make sure to
include these in the `requirements.txt` file. Also, if your plugin only works
for certain versions of `zenml`, adjust the entry in `requirements.txt`
accordingly to indicate which versions are supported.### 5. Replace `logo.png`
Next, delete `logo.png` and replace it with your own plugin logo.### 5. Update `README.md`
Lastly, delete this `README.md` file and replace it with your own README that
explains how your plugin can be used.### 6. Submit your plugin to the ZenML Hub
After you have adjusted your plugin repository according to steps 2) to 5), push
your changes back to GitHub. Then, run `zenml hub submit -i` in your terminal to
start an interactive publishing process. Provide the URL of your new plugin
repository when prompted to do so.## Folder Structure
Please make sure to preserve the overall folder structure that is suggested here:
```
├── logo.png -- The plugin logo -> TODO: replace
│
├── README.md -- The README of the plugin -> TODO: explain your plugin here
│
├── requirements.txt -- Package requirements of your plugin, needs to contain `zenml` -> TODO: update
│
├── src/ -- Sources root -> TODO: put your code in here
```