Skip to content

feat: add processor plugin system#298

Closed
andreatgretel wants to merge 1 commit intoandreatgretel/feat/processor-pluginsfrom
andreatgretel/feat/processor-plugins-registry
Closed

feat: add processor plugin system#298
andreatgretel wants to merge 1 commit intoandreatgretel/feat/processor-pluginsfrom
andreatgretel/feat/processor-plugins-registry

Conversation

@andreatgretel
Copy link
Contributor

Summary

Adds support for third-party processor plugins via the existing plugin discovery mechanism. This PR builds on top of #294 (callback-based processors).

Changes

Plugin Infrastructure

  • PluginType.PROCESSOR for external processor plugins
  • ProcessorRegistry discovers and loads processor plugins
  • processor_types.py with plugin-injected type union
  • PluginRegistry uses RLock instead of Lock for nested imports

Demo Processors

  • RegexFilterProcessor - filters rows based on regex patterns (preprocess)
  • SemanticDedupProcessor - removes duplicate content via embeddings (postprocess)

Documentation

  • Plugin overview and development guide

Depends On

Test Plan

  • Demo processors work when installed as plugins
  • Plugin discovery correctly registers external processors
  • Type hints include plugin processor configs

@andreatgretel andreatgretel requested a review from a team as a code owner February 4, 2026 23:18
@andreatgretel andreatgretel marked this pull request as draft February 4, 2026 23:20
Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

6 files reviewed, 4 comments

Edit Code Review Agent Settings | Greptile

@NVIDIA-NeMo NVIDIA-NeMo deleted a comment from greptile-apps bot Feb 4, 2026
@NVIDIA-NeMo NVIDIA-NeMo deleted a comment from greptile-apps bot Feb 4, 2026
@NVIDIA-NeMo NVIDIA-NeMo deleted a comment from greptile-apps bot Feb 4, 2026
@NVIDIA-NeMo NVIDIA-NeMo deleted a comment from greptile-apps bot Feb 4, 2026
@NVIDIA-NeMo NVIDIA-NeMo deleted a comment from greptile-apps bot Feb 4, 2026
@andreatgretel
Copy link
Contributor Author

Published the PR by accident with dangling files - removed greptile comments above since they didn't reflect the current state of the PR

@andreatgretel andreatgretel force-pushed the andreatgretel/feat/processor-plugins-registry branch from 8976a09 to 751f631 Compare February 5, 2026 00:17
@andreatgretel andreatgretel force-pushed the andreatgretel/feat/processor-plugins branch from ec54289 to edbaf44 Compare February 5, 2026 13:54
@andreatgretel andreatgretel force-pushed the andreatgretel/feat/processor-plugins-registry branch from 751f631 to e82c8c1 Compare February 5, 2026 14:03
@andreatgretel andreatgretel force-pushed the andreatgretel/feat/processor-plugins branch from edbaf44 to 5cc6f21 Compare February 5, 2026 14:05
@andreatgretel andreatgretel force-pushed the andreatgretel/feat/processor-plugins-registry branch from e82c8c1 to 89c493c Compare February 5, 2026 14:05
Adds support for third-party processor plugins via plugin discovery:

- PluginType.PROCESSOR for external processor plugins
- ProcessorRegistry discovers and loads processor plugins
- processor_types.py with plugin-injected type union
- PluginRegistry uses RLock for nested imports

Demo processors:
- RegexFilterProcessor (preprocess stage)
- SemanticDedupProcessor (postprocess stage)
@andreatgretel andreatgretel force-pushed the andreatgretel/feat/processor-plugins-registry branch from 89c493c to 56ccb15 Compare February 5, 2026 14:17
@andreatgretel
Copy link
Contributor Author

Closing to create a fresh PR with clean history

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant