You may provide your own scripts as a Pywikibot plugin. All you have to do is to bind your package and define an entry point for pywikibot.
Caution
pywikibot >= 9.4.0
is required for this possibility.
For example having package files like this:
my_pwb_scripts/ ├── LICENSE ├── pyproject.toml ├── README.md ├── src/ │ └── wikidata_scripts/ │ ├── __init__.py │ ├── drop_entities.py │ └── show_entities.py └── tests/
Add the following code in your wikidata_scripts.__init__.py
:
from pathlib import Path base_dir = Path(__file__).parent
Add Pywikibot dependency and register the entry point, which is the
base_dir
above, within your preferred config file:
[project] dependencies = [ "pywikibot >= 9.4.0", ] [project.entry-points."pywikibot"] scriptspath = "wikidata_scripts:base_dir"
After installing your package scripts are available via pwb
wrapper and
can be invoked like this:
$ pwb <global options> show_entities <scripts options>
Note
If you have several Pywikibot scripts installed, there script names must be different; otherwise the started script might not that you have expected.
Warning
This guide is not tested. Test it locally before uploading to pypi.