Data Designer Plugins
Experimental Feature
The plugin system is currently experimental and under active development. The documentation, examples, and plugin interface are subject to significant changes in future releases. If you encounter any issues, have questions, or have ideas for improvement, please consider starting a discussion on GitHub.
What are plugins?
Plugins are Python packages that extend Data Designer's capabilities without modifying the core library. Similar to VS Code extensions and Pytest plugins, the plugin system empowers you to build specialized extensions for your specific use cases and share them with the community.
Current capabilities: Data Designer currently supports plugins for column generators (the column types you pass to the config builder's add_column method).
Coming soon: Plugin support for processors, validators, and more!
How do you use plugins?
A Data Designer plugin is just a Python package configured with an entry point that points to a Data Designer Plugin object. Using a plugin is as simple as installing the package:
pip install data-designer-{plugin-name}
Once installed, plugins are automatically discovered and ready to use. See the example plugin for a complete walkthrough.
How do you create plugins?
Creating a plugin involves three main steps:
1. Implement the Plugin Components
- Create a task class inheriting from
ColumnGenerator - Create a config class inheriting from
SingleColumnConfig - Instantiate a
Pluginobject connecting them
2. Package Your Plugin
- Set up a Python package with
pyproject.toml - Register your plugin using entry points
- Define dependencies (including
data-designer)
3. Share Your Plugin
- Publish to PyPI or another package index
- Share with the community!
Ready to get started? See the Example Plugin for a complete walkthrough!