GSoC/GCI Archive
Google Code-in 2014 Wikimedia Foundation

pywikibot: Wikidata isbn support

completed by: m4tx

mentors: Fabian, John Vandenberg

Pywikibot is a Python-based framework to write bots for MediaWiki. See for more information. Patches can be submitted via Gerrit (you need a account). More documentation on Gerrit can be found at After you have successfully claimed this task in Google Melange please do use the task in Phabricator for communication instead of Google Melange. This allows more PWB developers to be reached! General development questions can be asked on the Pywikibot mailing list at and the #pywikibot IRC channel (see

Wikidata is a multilingual collaboratively edited wiki knowledge base that stores structured data in JSON records.  The software is an extension to MediaWiki called Wikibase.  See and for more information.   Its primary use is as a central store of facts that can be used by all wiki projects.  Each claim (fact) in Wikidata is essentially in the form of property=value.  A property may have many values.  e.g. India 'shares a border' (property P47) with several countries.

Pywikibot includes a script/bot called that reports and fixes invalid ISBN numbers, and converts ISBN10 to ISBN13. It only works on Wikipedia, or other sites which include ISBNs in the raw wikitext of pages.

This task is to enhance to provide the same functionality when used on Wikidata, using the ISBN10 and ISBN13 properties: .  To complete this task, add a test case to tests/ to perform validation and cleansing of a test item on .

The Phabricator task is .

Students are required to read Wikimedia's general instructions at first.

Always refer to for general information and for information on specific tasks.