Page MenuHomePhabricator

Making a pypi package pywikibot-scripts for officially supported scripts
Open, LowPublic

Description

Currently to run any of the scripts, the user needs to clone the git repo. This is not a very nice method for python projects, as pip is the defacto for installing python packages.

It would be nice to make a pywikibot-scripts pypi packages which installs all pywikibot scripts. This way, for a user to install and run pywikibot's official scripts, all they'd have to do is:

$ pip install pywikibot-scripts
$ pwb <script name to run>

Note: The pwb command is described at https://phabricator.wikimedia.org/T139143

Event Timeline

AbdealiJK created this task.Jul 1 2016, 5:31 AM
Restricted Application added subscribers: pywikibot-bugs-list, Zppix, Aklapper. · View Herald TranscriptJul 1 2016, 5:31 AM

The scripts are also provided as part of a tarball. but agreed that isnt very nice.

Most of our script users still use git to fetch/sync library and scripts together, otherwise their scripts fail.

It would be nice to have a console script pwb.py which can find the script in different packages. I've commented more on T139143: Make a pywikibot entry point for scripts, but one approach is to create a package namespace , and that package namespace can provide the pwb.py.

I think @valhallasw created a task for moving scripts out of the -core repo, but I cant find it now.

So ideally we have a mechanism in place that allows scripts to be moved from an omnibus package into a separate package, and the user invocation is identical.

We did create a pywikibot-wiktionary to avoid that chunk of code landing in -core, but as I recall it has very little pywikibot usage. It should probably be split into a wiktionary library and a script that utilises both the wiktionary and pywikibot libraries.

Ideally we release 2.0 final, and then request that people put their hands up to be maintainers of a single script. There are many scripts that have one primary author over the years - that person may be happy to take more ownership, especially if we can set up the repo /packaging for them to maintain.

And then the remainder of the scripts could be grouped into sets of scripts with a common focus, e.g. Pywikibot-Wikidata , Pywikibot-Commons , etc.