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!