Skip to main content

A simple MediaWiki client.

Project description

A really simple MediaWiki API client.

Can use most MediaWiki API modules.

Requires the requests library.

http://www.mediawiki.org/

Installation

To install the latest stable version:

pip install -U mw-api-client

To install the latest development version:

git clone https://github.com/Kenny2github/mw-api-client.git
cd mw-api-client
pip install -e .

Example Usage

import mw_api_client as mw

Get a page:

wp = mw.Wiki("https://en.wikipedia.org/w/api.php", "MyCoolBot/0.0.0")

wp.login("kenny2wiki", password)

sandbox = wp.page("User:Kenny2wiki/sandbox")

Edit page:

# Get the page
contents = sandbox.read()

# Change
contents += "\n This is a test!"
summary = "Made a test edit"

# Submit
sandbox.edit(contents, summary)

List pages in category:

for page in wp.category("Redirects").categorymembers():
    print(page.title)

Remove all uses of a template:

stub = wp.template("Stub")

# Pages that transclude stub, main namespace only
target_pages = list(stub.transclusions(namespace=0))

# Sort by title because it's prettier that way
target_pages.sort(key=lambda p: p.title)

for page in target_pages:
    page.replace("{{stub}}", "")

Patrol all recent changes in the Help namespace:

rcs = wp.recentchanges(namespace=12)

for rc in rcs:
    rc.patrol()

Made by Kenny2github, based off of ~blob8108’s Scratch Wiki API client.

MIT Licensed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mw-api-client-3.0.0a2.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mw_api_client-3.0.0a2-py2.py3-none-any.whl (21.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mw-api-client-3.0.0a2.tar.gz.

File metadata

File hashes

Hashes for mw-api-client-3.0.0a2.tar.gz
Algorithm Hash digest
SHA256 374bc20667369f370eefd41c058ff9bc870c7f655a84471acc45bf3a56c17651
MD5 1a045a91544ea7184253d2f670566782
BLAKE2b-256 03fd572b3bf7220511310176b26af8de36b9f81453de18edd0fa12b8e5e14eac

See more details on using hashes here.

File details

Details for the file mw_api_client-3.0.0a2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for mw_api_client-3.0.0a2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 03e7b4d72d8371e21b2a107ae53f92536eac8175525c9ec0639a7ed4b68ec4d3
MD5 38b28003b441455a4aa2dfc4ad78d029
BLAKE2b-256 017488222205ba934b3418786a65ce6c0aa841a1e091c52e02214d05fbb1e5a0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page