Publishing to PyPI
Share your plugin with the Mother AI OS community.
Prerequisites
- PyPI account at pypi.org
- Plugin tested and working locally
buildandtwineinstalled
Project Structure
my-mother-plugin/
├── pyproject.toml
├── README.md
├── LICENSE
├── mother-plugin.yaml
└── src/
└── my_plugin/
├── __init__.py
└── plugin.py
Configure pyproject.toml
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
name = "mother-plugin-example"
version = "1.0.0"
description = "Example plugin for Mother AI OS"
readme = "README.md"
license = {text = "MIT"}
authors = [{name = "Your Name", email = "[email protected]"}]
classifiers = [
"Development Status :: 4 - Beta",
"Framework :: Mother AI OS",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.11",
]
dependencies = [
"mother-ai-os>=0.1.0",
]
[project.entry-points."mother.plugins"]
my-plugin = "my_plugin:MyPlugin"
[project.urls]
Homepage = "https://github.com/you/mother-plugin-example"
Build and Upload
# Install build tools
pip install build twine
# Build package
python -m build
# Upload to PyPI
twine upload dist/*
Best Practices
- Semantic versioning - Use major.minor.patch
- Clear documentation - Include usage examples in README
- Pin dependencies - Specify compatible versions
- Add tests - Include a test suite
- License clearly - Use a standard open source license
Plugin Naming Convention
Use the prefix mother-plugin- for discoverability:
mother-plugin-emailmother-plugin-databasemother-plugin-slack