/pywikibot

fork of mediawiki pywikibot

Primary LanguagePythonMIT LicenseMIT

Pywikibot

The Pywikibot framework is a Python library that interfaces with the MediaWiki API version 1.14 or higher.

Also included are various general function scripts that can be adapted for different tasks.

For further information about the library excluding scripts see the full code documentation.

Quick start

git clone https://gerrit.wikimedia.org/r/pywikibot/core.git
cd core
git submodule update --init
python pwb.py script_name

Or to install using PyPI (excluding scripts)

pip install pywikibot --pre

Our installation guide has more details for advanced usage.

Basic Usage

If you wish to write your own script it's very easy to get started:

import pywikibot
site = pywikibot.Site('en', 'wikipedia')  # The site we want to run our bot on
page = pywikibot.Page(site, 'Wikipedia:Sandbox')
page.text = page.text.replace('foo', 'bar')
page.save('Replacing "foo" with "bar"')  # Saves the page

For more documentation on pywikibot see our docs.

The contents of the package

README and config files:
ChangeLog Log file to keep track of major changes versionwise
CREDITS List of major contributors to this module
ez_setup.py Bootstrap distribute installation file, can also be run to install or upgrade setuptools.
generate_family_file.py Creates a new family file.
generate_user_files.py Creates user-config.py or user-fixes.py
LICENSE a reference to the MIT license
pwb.py Wrapper script to use Pywikibot in 'directory' mode
README-conversion.txt Guide to converting bot scripts from version 1 of the Pywikibot framework to version 3
README.rst Short info string used by Pywikibot Nightlies
requirements.txt PIP requirements file
setup.py Installer script for Pywikibot 3.0 framework
user-config.py.sample Example user-config.py file for reference
Directories
pywikibot Contains some libraries and control files
scripts Contains all bots and utility scripts
tests Some test stuff for the developing team

Required external programs

It may require the following programs to function properly:

  • 7za: To extract 7z files

Contributing

Our code is maintained on Wikimedia's Gerrit installation. Learn about how to contribute.

Build Status