For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Getting Started
    • Welcome
    • Contributing
  • Concepts
    • Columns
    • Seed Datasets
    • Agent Rollout Ingestion
    • Custom Columns
    • Validators
    • Processors
    • Person Sampling
    • Traces
    • Architecture & Performance
    • Deployment Options
    • Security
  • Tutorials
    • Overview
    • The Basics
    • Structured Outputs, Jinja Expressions, and Conditional Generation
    • Seeding with an External Dataset
    • Providing Images as Context
    • Generating Images
    • Image-to-Image Editing
  • Recipes
    • Recipe Cards
  • Plugins
    • Overview
    • Example Plugin
    • FileSystemSeedReader Plugins
    • Discover
  • Code Reference
    • Overview
  • Dev Notes
    • Overview
    • Prompt Sensitivity
    • Retriever SDG Toolkit
    • Have It Your Way
    • VLM Long Document Understanding
    • Push Datasets to Hugging Face Hub
    • Text-to-SQL for Nemotron Super
    • Async All the Way Down
    • Owning the Model Stack
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Manage My Privacy | Do Not Sell or Share My Data | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogoNeMo Data Designer
On this page
  • Supported plugin types
  • How do you use plugins?
  • How do you create plugins?
  • 1. Implement the Plugin Components
  • 2. Package Your Plugin
  • 3. Install and Test Locally
  • 4. Share Your Plugin (Optional)
Plugins

Data Designer Plugins

||View as Markdown|
Previous

Frontier Judge QA Filter

Next

Example Plugin: Column Generator

Plugins let you add new object types to Data Designer without modifying the core library. Once installed, plugins behave like native Data Designer objects: they use the same declarative config patterns, builder APIs, discovery flow, and runtime execution paths as the built-in objects.

Supported plugin types

Data Designer supports three plugin types:

  • Column generator plugins: Custom column types you pass to the config builder’s add_column method.
  • Seed reader plugins: Custom seed dataset readers that let you load data from new sources, such as databases, cloud storage, or custom file formats.
  • Processor plugins: Custom processors that transform data before batches, after batches, or after generation completes. Pass them to the config builder’s add_processor method.

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. Once installed, plugins are automatically discovered and ready to use — no additional registration or configuration needed.

Use the Data Designer CLI to discover and install published plugin packages from catalogs. See Discover Plugins for the catalog workflow. See the example plugin for a complete authoring walkthrough, or jump to FileSystemSeedReader Plugins for filesystem-backed seed reader authoring.

How do you create plugins?

Creating a plugin involves three main steps:

1. Implement the Plugin Components

Each plugin has three components, and we recommend organizing them into separate files within a plugin subdirectory:

  • config.py — Configuration class defining user-facing parameters
    • Column generator plugins: inherit from SingleColumnConfig with a column_type discriminator
    • Seed reader plugins: inherit from SeedSource with a seed_type discriminator
    • Processor plugins: inherit from ProcessorConfig with a processor_type discriminator
  • impl.py — Implementation class containing the core logic
    • Column generator plugins: inherit from ColumnGeneratorFullColumn or ColumnGeneratorCellByCell
    • Seed reader plugins: inherit from SeedReader or FileSystemSeedReader for directory-backed sources
    • Processor plugins: inherit from Processor and override callback methods (process_before_batch, process_after_batch, process_after_generation)
  • plugin.py — A Plugin instance that connects the config and implementation classes

2. Package Your Plugin

  • Set up a Python package with pyproject.toml
  • Register your plugin using entry points under data_designer.plugins
  • Define dependencies (including data-designer)

3. Install and Test Locally

  • Install your plugin locally with uv pip install -e . (editable mode)
  • No publishing required — your plugin is usable immediately after a local install
  • Iterate on your plugin code with fast feedback

4. Share Your Plugin (Optional)

  • Publish to PyPI, another package index, or a direct package reference when you want others outside your environment to install the plugin
  • Add the package to a plugin catalog so users can discover and install it through data-designer plugin

Example entry point for a processor plugin:

1[project.entry-points."data_designer.plugins"]
2my-processor = "my_plugin.plugin:my_processor_plugin"

Where my_processor_plugin is a Plugin instance with plugin_type=PluginType.PROCESSOR:

1from data_designer.plugins.plugin import Plugin, PluginType
2
3my_processor_plugin = Plugin(
4 config_qualified_name="my_plugin.config.MyProcessorConfig",
5 impl_qualified_name="my_plugin.impl.MyProcessor",
6 plugin_type=PluginType.PROCESSOR,
7)

Ready to get started?

  • See the Example Plugin for a column generator walkthrough
  • See FileSystemSeedReader Plugins for filesystem-backed seed reader plugins
  • See the Markdown Section Seed Reader recipe for a runnable single-file 1:N filesystem reader example