python-pywikibot
Port variant v11
Summary Python MediaWiki Bot Framework (3.11)
Package version 9.1.1
Homepage https://www.mediawiki.org/wiki/Manual:Pywikibot
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v12
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 27 APR 2024, 16:34:15 UTC
Port created 04 MAR 2024, 06:30:48 UTC
Subpackage Descriptions
single ********* Pywikibot ********* The Pywikibot framework is a Python library that interfaces with the [MediaWiki API] version 1.27 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 =========== .. code:: text git clone https://gerrit.wikimedia.org/r/pywikibot/core.git cd core git submodule update --init pip install -r requirements.txt python pwb.py Or to install using PyPI (excluding scripts) .. code:: text pip install pywikibot pwb 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: .. code:: python 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 Wikibase Usage ============== Wikibase is a flexible knowledge base software that drives Wikidata. A sample pywikibot script for getting data from Wikibase: .. code:: python import pywikibot site = pywikibot.Site('wikipedia:en') repo = site.data_repository() # the Wikibase repository for given site page = repo.page_from_repository('Q91') # create a local page for the given item item = pywikibot.ItemPage(repo, 'Q91') # a repository item data = item.get() # get all item data from repository for this item Script example ============== Pywikibot provides bot classes to develop your own script easily: .. code:: python import pywikibot from pywikibot import pagegenerators from pywikibot.bot import ExistingPageBot class MyBot(ExistingPageBot): update_options = { 'text': 'This is a test text', 'summary': 'Bot: a bot test edit with Pywikibot.' } def treat_page(self): """Load the given page, do some changes, and save it.""" text = self.current_page.text text += '\n' + self.opt.text self.put_current(text, summary=self.opt.summary) def main(): """Parse command line arguments and invoke bot.""" options = {} gen_factory = pagegenerators.GeneratorFactory() # Option parsing local_args = pywikibot.handle_args(args) # global options local_args = gen_factory.handle_args(local_args) # generators options for arg in local_args:
Configuration Switches (platform-specific settings discarded)
PY311 ON Build using Python 3.11 PY312 OFF Build using Python 3.12
Package Dependencies by Type
Build (only) python-pip:single:v11
autoselect-python:single:standard
Build and Runtime python311:single:standard
Runtime (only) python-mwparserfromhell:single:v11
python-packaging:single:v11
python-requests:single:v11
Download groups
main mirror://PYPIWHL/af/91/24abd71054849ba654ce15eab0612bc6cca8c10e26a4f6eff75855eb93d3
Distribution File Information
6345ff458378aedd0c072cd021a0882b8f781d110c426ee6503aff54f5b8fb2a 713486 pywikibot-9.1.1-py3-none-any.whl
Ports that require python-pywikibot:v11
No other ports depend on this one.