Installer scripts#

make_dist script#

Script to create a new distribution.

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.

-remote

Upload the package to pypi. This cannot be done if the Pywikibot version is a development release.

-clear

Clear old dist folders

-upgrade

Upgrade distribution packages pip, setuptools, wheel and twine first

-nodist

Do not create a distribution. Useful to -clear or -upgrade only.

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

class make_dist.SetupBase(local, remote, clear, upgrade, nodist)[source]#

Bases: ABC

Setup distribution base class.

New in version 8.0.

abstract cleanup()[source]#

Cleanup copied files.

Return type:

None

clear_old_dist()[source]#

Delete old dist folders.

New in version 7.5.

Return type:

None

abstract copy_files()[source]#

Copy files.

Return type:

None

run()[source]#

Run the installer script.

Return type:

None

class make_dist.SetupPywikibot(*args)[source]#

Bases: SetupBase

Setup for Pywikibot distribution.

New in version 8.0.

Set source and target directories.

cleanup()[source]#

Remove all copied files from pywikibot scripts folder.

Return type:

None

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

make_dist.handle_args()[source]#

Handle arguments and print documentation if requested.

Read arguments from sys.argv and adjust it passing sdist to setuptools.setup.

Returns:

Return whether dist is to be installed locally or to be uploaded

Return type:

Tuple[bool, bool, bool, bool, bool]

make_dist.main()[source]#

Script entry point.

Return type:

None

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 release

  • create 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 identifier

  • upload this patchset to Gerrit and merge it.

setup.get_packages(name)[source]#

Find framework packages.

Return type:

List[str]

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

setup.main()[source]#

Setup entry point.

Return type:

None

setup.read_desc(filename)[source]#

Read long description.

Combine included restructured text files which must be done before uploading because the source isn’t available after creating the package.

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().

pwb.python_is_supported()[source]#

Check that Python is supported.