Skip to main content

pro_plugin/
lib.rs

1//! pro-plugin: Plugin SDK for Pro Python package manager
2//!
3//! This crate provides the plugin system for Pro:
4//! - WebAssembly plugin host (Extism)
5//! - Lifecycle hooks (pre-resolve, post-resolve, pre-build, post-build, pre-publish)
6//! - Sandboxed execution with capability-based permissions
7//!
8//! ## Configuration
9//!
10//! Plugins can be configured in pyproject.toml:
11//!
12//! ```toml
13//! [tool.rx.plugins.my-plugin]
14//! source = "./plugins/my-plugin.wasm"
15//! enabled = true
16//!
17//! [tool.rx.plugins.my-plugin.permissions]
18//! read_files = true
19//! network = false
20//!
21//! [tool.rx.plugins.my-plugin.settings]
22//! option1 = "value"
23//! ```
24
25mod error;
26mod hooks;
27mod host;
28mod manifest;
29
30pub use error::{PluginError, PluginResult};
31pub use hooks::{Hook, HookContext, HookResult};
32pub use host::{LoadedPlugin, PluginHost};
33pub use manifest::{PluginConfig, PluginManifest, PluginPermissions};