Skip to content

Support Python package distribution for plugins #1846

@jpshackelford

Description

@jpshackelford

Summary

Extend the plugin system to support distributing plugins as Python packages (pip/uv installable) in addition to the current git-based approach. This would enable plugin authors to leverage Python's dependency management for transitive dependencies, including plugin-to-plugin dependencies.

Motivation

The current plugin system fetches plugins from git repositories, which works well but lacks dependency management. When a plugin requires Python libraries or depends on other plugins, users must manually ensure all dependencies are installed. Python packaging solves this automatically - pip install openhands-plugin-security would install both the plugin and all its dependencies.

Desired Outcomes

  • Plugins can be distributed via PyPI or private registries
  • Plugin dependencies (both Python libraries and other plugins) are resolved automatically by pip/uv
  • The plugin directory structure remains identical whether consumed from git or from a Python package
  • Plugins can optionally include Python code for custom tools and agent behavior
  • Plugins install to an isolated directory to avoid polluting the agent's working environment

Metadata

Metadata

Assignees

Labels

architectureRelated to core architecture.enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions