Installer scripts#
make_dist script#
Script to create a new distribution. Requires Python 3.7+.
The following options are supported:
- -help
Print documentation of this file and of setup.py
- -local
Install the distribution as a local site-package. If a Pywikibot package is already there, it will be uninstalled first. Clears old dist folders first.
- -remote
Upload the package to pypi. This cannot be done if the Pywikibot version is a development release. Clears old dist folders first.
- -clear
Clear old dist folders and leave. Does not create a distribution.
- -upgrade
Upgrade pip first; upgrade or install distribution packages build and twine first.
Usage:
[pwb] make_dist [options]
New in version 7.3.
Changed in version 7.4:
updates pip, setuptools, wheel and twine packages first
installs pre-releases over stable versions
also creates built distribution together with source distribution
-upgrade option was added
Changed in version 7.5:
clear option was added
nodist option was added
Changed in version 8.1: Python 3.7+ required because dataclasses module is used. nodist option was removed, clear option does not create a distribution. local and remote option clears old distributions first.
Changed in version 8.2: Build frontend was changed from setuptools to build. -upgrade
option also installs packages if necessary.
- class make_dist.SetupBase(local, remote, clear, upgrade)[source]#
Bases:
ABC
Setup distribution base class.
New in version 8.0.
Changed in version 8.1: dataclass is used.
- Parameters:
local (bool) –
remote (bool) –
clear (bool) –
upgrade (bool) –
- clear: bool#
- folder: Path#
- local: bool#
- remote: bool#
- run()[source]#
Run the installer script.
- Returns:
True if no error occurs, else False
- Return type:
bool
- upgrade: bool#
- class make_dist.SetupPywikibot(*args)[source]#
Bases:
SetupBase
Setup for Pywikibot distribution.
New in version 8.0.
Set source and target directories.
- clear: bool#
- copy_files()[source]#
Copy i18n files to pywikibot.scripts folder.
Pywikibot i18n files are used for some translations. They are copied to the pywikibot scripts folder.
- Return type:
None
- folder: Path#
- local: bool#
- remote: bool#
- upgrade: bool#
setup script#
Installer script for Pywikibot framework.
How to create a new distribution:
replace the developmental version string in
pywikibot.__metadata__.py
by the corresponding final releasecreate the package with:
make_dist -remote
create a new tag with the version number of the final release
synchronize the local tags with the remote repositoy
merge current master branch to stable branch
push new stable branch to Gerrit and merge it the stable repository
prepare the next master release by increasing the version number in
pywikibot.__metadata__.py
and adding developmental identifierupload this patchset to Gerrit and merge it.
- setup.get_validated_version()[source]#
Get a validated pywikibot module version string.
The version number from pywikibot.__metadata__.__version__ is used. setup.py with ‘sdist’ option is used to create a new source distribution. In that case the version number is validated: Read tags from git. Verify that the new release is higher than the last repository tag and is not a developmental release.
- Returns:
pywikibot module version string
- Return type:
str
entry point#
pwb caller script to invoke the pywikibot.scripts.wrapper
script.
New in version 8.0.
- pwb.main()[source]#
Entry point for
tests.utils.execute_pwb()
.