All Projects → wikimedia → Pywikibot

wikimedia / Pywikibot

Licence: mit
🤖 A Python library that interfaces with the MediaWiki API. This is a mirror from gerrit.wikimedia.org. Do not submit any patches here. See https://www.mediawiki.org/wiki/Developer_account for contributing.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pywikibot

Wptools
Wikipedia tools (for Humans): easily extract data from Wikipedia, Wikidata, and other MediaWikis
Stars: ✭ 371 (-7.02%)
Mutual labels:  api-client, mediawiki
Wikipedir
R's MediaWiki API client library
Stars: ✭ 54 (-86.47%)
Mutual labels:  api-client, mediawiki
dwolla-v2-node
Official Node Wrapper for Dwolla's API: https://developers.dwolla.com/api-reference/
Stars: ✭ 30 (-92.48%)
Mutual labels:  api-client
Diplomat
A HTTP Ruby API for Consul
Stars: ✭ 358 (-10.28%)
Mutual labels:  api-client
Aiodocker
Python Docker API client based on asyncio and aiohttp
Stars: ✭ 288 (-27.82%)
Mutual labels:  api-client
kaggler
🏁 API client for Kaggle
Stars: ✭ 50 (-87.47%)
Mutual labels:  api-client
Slickstack
SlickStack is a free LEMP stack automation script written in Bash designed to enhance and simplify WordPress provisioning, performance, and security.
Stars: ✭ 311 (-22.06%)
Mutual labels:  mediawiki
compose-mediawiki-ubuntu
Containerized Mediawiki install based on Ubuntu
Stars: ✭ 42 (-89.47%)
Mutual labels:  mediawiki
Node Vault
Client for HashiCorp's Vault
Stars: ✭ 391 (-2.01%)
Mutual labels:  api-client
Insomnia
The open-source, cross-platform API client for GraphQL, REST, and gRPC.
Stars: ✭ 18,969 (+4654.14%)
Mutual labels:  api-client
Amazon Product Api
💳 Amazon Product Advertising API client
Stars: ✭ 353 (-11.53%)
Mutual labels:  api-client
Hubspot Php
HubSpot PHP API Client
Stars: ✭ 273 (-31.58%)
Mutual labels:  api-client
cl-kraken
A Common Lisp API wrapper for the Kraken cryptocurrency exchange.
Stars: ✭ 12 (-96.99%)
Mutual labels:  api-client
Node Imdb Api
A non-scraping, functional node.js interface to imdb (mirror of gitlab.com/worr/node-imdb-api)
Stars: ✭ 314 (-21.3%)
Mutual labels:  api-client
connect
CLI tool and Go client library for the Kafka Connect REST API
Stars: ✭ 45 (-88.72%)
Mutual labels:  api-client
Semanticmediawiki
🔗 Semantic MediaWiki turns MediaWiki into a knowledge management platform with query and export capabilities
Stars: ✭ 359 (-10.03%)
Mutual labels:  mediawiki
pixela
Pixela API client for Ruby
Stars: ✭ 23 (-94.24%)
Mutual labels:  api-client
Malsub
A Python RESTful API framework for online malware analysis and threat intelligence services.
Stars: ✭ 308 (-22.81%)
Mutual labels:  api-client
Php Redmine Api
A simple PHP Redmine API client, Object Oriented
Stars: ✭ 392 (-1.75%)
Mutual labels:  api-client
Php Curl Class
PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs
Stars: ✭ 2,903 (+627.57%)
Mutual labels:  api-client

.. image:: https://travis-ci.org/wikimedia/pywikibot.svg?branch=master :alt: Travis Build Status :target: https://travis-ci.org/wikimedia/pywikibot .. image:: https://ci.appveyor.com/api/projects/status/xo2g4ctoom8k6yvw/branch/master?svg=true :alt: AppVeyor Build Status :target: https://ci.appveyor.com/project/ladsgroup/pywikibot-g4xqx .. image:: https://codecov.io/gh/wikimedia/pywikibot/branch/master/graph/badge.svg :alt: Code coverage :target: https://codecov.io/gh/wikimedia/pywikibot .. image:: https://api.codeclimate.com/v1/badges/de6ca4c66e7c7bee4156/maintainability :alt: Maintainability :target: https://codeclimate.com/github/wikimedia/pywikibot/maintainability .. image:: https://img.shields.io/pypi/pyversions/pywikibot.svg :alt: Python :target: https://www.python.org/downloads/ .. image:: https://img.shields.io/pypi/v/pywikibot.svg :alt: Pywikibot release :target: https://pypi.org/project/pywikibot/ .. image:: https://pepy.tech/badge/pywikibot :alt: Total downloads :target: https://pepy.tech/project/pywikibot .. image:: https://static.pepy.tech/personalized-badge/pywikibot?period=month&units=international_system&left_color=black&right_color=blue&left_text=monthly :alt: Monthly downloads :target: https://pepy.tech/project/pywikibot .. image:: https://static.pepy.tech/personalized-badge/pywikibot?period=week&units=international_system&left_color=black&right_color=blue&left_text=weekly :alt: Weekly downloads :target: https://pepy.tech/project/pywikibot

Pywikibot

The Pywikibot framework is a Python library that interfaces with the MediaWiki API <https://www.mediawiki.org/wiki/API:Main_page>_ version 1.23 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 <https://doc.wikimedia.org/pywikibot/>_.

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 -U setuptools
pip install pywikibot

Our installation guide <https://www.mediawiki.org/wiki/Manual:Pywikibot/Installation>_ 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

Wikibase Usage

Wikibase is a flexible knowledge base software that drives Wikidata. A sample pywikibot script for getting data from Wikibase:

::

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

For more documentation on pywikibot see our docs <https://doc.wikimedia.org/pywikibot/>_.

.. include:: pywikibot/DIRECTORIES.rst

Required external programs

It may require the following programs to function properly:

  • 7za: To extract 7z files

Roadmap

.. include:: ROADMAP.rst

Release history

See https://github.com/wikimedia/pywikibot/blob/stable/HISTORY.rst

Contributing

Our code is maintained on Wikimedia's Gerrit installation <https://gerrit.wikimedia.org/>, learn <https://www.mediawiki.org/wiki/Developer_account> how to get started.

.. include:: CODE_OF_CONDUCT.rst

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].