Publishing a Plugin¶
Packaging Tutorial¶
The best way to make your plugin available for others is by publishing it to a package manager registry.
Use the Python Packaging User Guide to learn how to package and publish a package to PyPI. Specifically, the Packaging Python Projects details this process.
Configuring Entry Point¶
Publishing the package will make it installable by package managers, but an extra step is necessary to make the package discoverable as a plugin by Arelle.
Arelle uses setuptools
to discover packages that define entry points for Arelle.
Entry points can be defined in pyproject.toml
as described here.
For ixbrl-viewer
, that looks like this:
[project.entry-points."arelle.plugin"]
ixbrl-viewer = "iXBRLViewerPlugin:load_plugin_url"
For your project, swap out ixbrl-viewer
with your plugin name, and swap
iXBRLViewerPlugin:load_plugin_url
with a reference to a method that returns a path
to the Python script that defines __pluginInfo__
.
Consider including ‘arelle’ and ‘plugin’ keywords in your package to make it more discoverable!