Plugin Environment
Ocelescope plugins run in a fixed Python environment provided by the Ocelescope runtime.
Plugins can only rely on packages that are available in the Ocelescope environment.
If you need a package that is not available in the plugin environment, please open a package request on GitHub.
Installing the plugin extra
Section titled “Installing the plugin extra”Ocelescope exposes an optional dependency group for plugin-related packages.
You can install it with:
pip install "ocelescope[plugin]"This is the recommended way to install packages that are intended to be available in the shared plugin environment.
Bundling wheel files inside a plugin
Section titled “Bundling wheel files inside a plugin”If your plugin needs a dependency that is not available in the shared plugin environment, you can bundle wheel files directly inside the plugin.
This is especially useful for compiled packages such as Rust bindings.
Store the wheels inside a wheels/ folder in your plugin package:
my-plugin/├── src/│ └── my_plugin/│ ├── __init__.py│ ├── plugin.py│ └── wheels/│ ├── some_package-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl│ └── some_package-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl└── pyproject.tomlAfter building, the plugin ZIP should look like this:
MyPlugin.zip/└── my_plugin/ ├── __init__.py ├── plugin.py └── wheels/ ├── some_package-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl └── some_package-1.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whlBuild wheels that are compatible with Python 3.13.
If you want to support both amd64 and arm64, include one wheel for each platform.