Manual:Pywikibot/Scripts
This is a list of the existing bots with links to their descriptions.
This list might be incomplete.
For the complete list refer to the Script Package documentation.
Many of the red linked scripts with no pages are still found in the Pywikibot scripts/
folder.
Scripts can be run in command line.
In Microsoft Windows:
- Open the Start menu or press the Windows key + R.
- Type cmd or cmd.exe in the Run command box.
- Press Enter.
Use the following pattern:
$ python pwb.py [global options] script_name [parameters]
For more information on running scripts, see Manual:Pywikibot/Workshop Materials/How to run basic scripts (self-study) and the related Small wiki toolkits workshop.
Global bot scripts
Editing scripts you are allowed to run on several wikis with a global bot flag.
Name | Description | Code |
---|---|---|
interwiki.py | Creates or modifies Interlanguage links between projects | core |
redirect.py | Fixes double redirects, and deletes broken redirects | core |
Main bot scripts
Name | Description | Code |
---|---|---|
add_text.py | Adds text at the top or end of pages | core |
category.py | Manages categories | core |
replace.py | Edits using text replacement | core |
solve_disambiguation.py | Fixes disambiguation pages | core |
upload.py | Uploads images to a wiki | core |
weblinkchecker.py | Finds broken external links | core |
Auxiliary programs
Name | Description | Code |
---|---|---|
clean_sandbox.py | This bot cleans a sandbox by replacing the current contents with predefined text | core |
cosmetic_changes.py | Makes the wiki source code look cleaner, invoked by other scripts | core |
transferbot.py | A script that transfers pages from a source wiki to a target wiki | core |
Other bot scripts
Name | Description | Code |
---|---|---|
welcome.py | Used to welcome new users | core |
Administrative
Name | Description | Code |
---|---|---|
blockpageschecker.py | Deletes any protection templates that are on pages which aren't actually protected | core |
delete.py | Deletes pages en masse | core |
patrol.py | This script obtains a list of recent changes and new pages and marks the edits as patrolled based on a whitelist | core |
protect.py | Protect and unprotect pages en masse | core |
Change general pages
Name | Description | Code |
---|---|---|
archivebot.py | Archives discussion threads | core |
movepages.py | Moves page to another title | core |
pagefromfile.py | Creates pages from a text file | core |
Categories
Name | Description | Code |
---|---|---|
category_redirect.py | Redirects pages etc. from one category to another | core |
commonscat.py | Adds {{Commonscat }} to Wikipedia categories (or articles), if other language Wikipedia already has such template | core |
Images
Name | Description | Code |
---|---|---|
imagetransfer.py | Copies images to another wiki | core |
image.py | Used to change one image to another or remove an image entirely | core |
unusedfiles.py | Finds unused media using Special:Unusedimages | core |
Templates
Name | Description | Code |
---|---|---|
template.py | Replaces one template with another, in a way that is easier to use than replace.py in most instances | core |
templatecount.py | Counts or lists the instances where templates are used | core |
Wikidata
Name | Description | Code |
---|---|---|
claimit.py | A script to mass add Wikidata claims to a lot of items based on pages on Wikipedia | core |
coordinate_import.py | A script to mass import coordinates from Wikipedia to Wikidata | core |
harvest_template.py | A script to mass add Wikidata claims based on information harvested from Wikipedia templates | core |
illustrate_wikidata.py | A script to add images to Wikidata items | core |
interwikidata.py | A script to handle interwiki links: connect pages to Wikidata items using language links on the page | core |
newitem.py | A script to mass create new Wikidata items | core |
Unsorted scripts
Name | Description | Code |
---|---|---|
checkimages.py | Script to check recently uploaded files. This script checks if a file description is present and if there are other problems in the image's description | core |
daemonize.py | core | |
djvutext.py | Extracts OCR text from djvu files and uploads onto pages in the "Page" namespace on Wikisource | core |
fixing_redirects.py | Correct all redirect links in featured pages or only one page of each wiki | core |
gui.py | A TKinter window with a Unicode text field where the user can e.g. edit the contents of an article | core |
interwiki_graph.py | core | |
match_images.py | Script to match two images based on histograms | compattask |
misspelling.py | This script fixes links that contain common spelling mistakes | core |
noreferences.py | Adds missing <references /> tag and references section if needed
|
core |
nowcommons.py | Script to delete files that are also present on Wikimedia Commons | core |
parser_function_count.py | This script helps to find expensive templates that are subject to be converted to Lua | core |
reflinks.py | A bot adding the title of linked web pages to bare external links; see w:User:DumZiBoT/refLinks by the original owner, cf. Archived Pages | core |
replicate_wiki.py | This bot replicates all pages (from specific namespaces) in a wiki to a second wiki within one family | core |
revertbot.py | Revert your bots recent edits to pages | core |
titletranslate.py | core | |
watchlist.py | Access the bot account's Watchlist | core |
Non editing scripts
Scripts which do not change wiki pages. These are allowed to run on virtually all wikis.
Name | Description | Code |
---|---|---|
listpages.py | Used to list pages using pagegenerators | core |
login.py | Used to log in (and log out) | core |
touch.py | Touch/purge a page in order to refresh relations without waiting for the queue | core |
Maintenance scripts
Helper scripts for maintenance and conversion scripts
Name | Description | Code |
---|---|---|
cache.py | Show and cleanup API cache folder | core |
colors.py | Show colored output of Pywikibot scripts | core |
update_script.py | Helper script to convert compat 1.0 scripts to the new core 3+ framework | core |
download_dump.py | Download Wikimedia dump file from https://dumps.wikimedia.org | core |
make_i18n_dict.py | Generate a i18n file from a given script | core |
wikimedia_sites.py | Updates the language lists in Wikimedia family files | core |
Other scripts
Mostly internal scripts. No normal bots.
Name | Description | Code |
---|---|---|
basic.py | This is not a complete bot; rather, it is a template from which simple bots can be made | core |
generate_family_file.py | This script generates a family file from a given URL | core |
generate_user_files.py | Script to create user files (user-config.py , user-fixes.py ) | core |
pwb.py | Wrapper script to use framework in 'directory' mode as cronjob or wrapper script | core |
setup.py | Installer script for Pywikibot 3+ framework | core |
shell.py | Spawns an interactive Python shell | core |
version.py | Outputs Pywikibot's revision number and Python's version | core |
Outdated compat scripts
This list contains outdated scripts from compat banch which aren’t supported any longer. They are either archived or deleted. Feel free to reactivate any script at any time by creating a Phabricator task: Phabricator Task
Name | Description | Code |
---|---|---|
maintainer.py | A wiki-maintainer script that shares tasks between workers, requires no intervention. Uses the irclib , you can download it on GitHub.
|
compattask |
maintcont.py | The controller bot for maintainer.py . | compattask |
rciw.py | A IRC script to check for Recent Changes through IRC, and to check for interwikis in those recently modified articles. Can not be run manually/directly, but is run automatically by maintainer.py. Uses the irclib , you can download it on GitHub.
|
compattask |
speedy_delete.py | Goes through pages for speedy deletion, shows their content, and asks for each page whether it should be deleted | core |
followlive.py | Script to follow new articles on a Wikipedia and tag them with a template or perform other actions | compattask |
data_ingestion.py | A generic bot to do data ingestion (batch uploading) to Commons | compattask |
imageuncat.py | Program to add uncat template to images without categories at Commons | compattask |
capitalize_redirects.py | Bot to create capitalized redirects where the first character of the first word is uppercase and the remaining characters and words are lowercase | compattask |
casechecker.py | Script to enumerate all pages on the wiki and find all titles with mixed latin and cyrilic alphabets | compattask |
catall.py | Adds or changes categories | compattask |
commons_link.py | Adds {{Commonscat }} and {{Commons }} to Wikipedia articles, if same name category or gallery exist on Commons | compattask |
create_categories.py | Program to batch create categories | compattask |
disambredir.py | Goes through the disambiguation pages, checks their links, and asks for each link that goes to a redirect page whether it should be replaced | compattask |
editarticle.py | Edit a Wikipedia article with your favourite editor | compattask |
flickrripper.py | Upload images from Flickr easily | compattask |
freebasemappingupload.py | A script to upload the mappings of Freebase to Wikidata | compattask |
imagecopy.py | Copies images from a Wikimedia wiki to Commons | compattask |
imagecopy_self.py | Script to copy self published files from the English Wikipedia to Wikimedia Commons | compattask |
imageharvest.py | Copies multiple images to a wiki | compattask |
imagerecat.py | Try to find categories for media on Commons | compattask |
isbn.py | This script goes over multiple pages of the home wiki, and reports invalid ISBN numbers, converts to ISBN-13 from ISBN-10 and places hyphens | compattask |
lonelypages.py | Place a template on pages which are not linked to by other pages, and are therefore lonely | compattask |
makecat.py | Uses the links on a page to quickly populate a category | compattask |
match_images.py | Program to match two images based on histograms | compattask |
ndashredir.py | Collect articles that have n dash or m dash character in their title and create a redirect to them from the corresponding hyphenated title | compattask |
piper.py | This is a bot that uses external filtering programs to munge the article text | compattask |
selflink.py | Allows the operator to decide what to do about self links | compattask |
spamremove.py | Script to remove external links that are being or have been spammed | compattask |
standardize_interwiki.py | Moves interwiki links into standard locations | compattask |
states_redirect.py | Create country sub-division redirect pages | compattask |
surnames_redirects.py | Bot to create redirects based on name order | compattask |
table2wiki.py | Converts HTML tables to MediaWiki markup | compattask |
unlink.py | This bot unlinks a page on every page that links to it | compattask |
wikisourcetext.py | This bot applies to Wikisource sites to upload text from text layers of files in various formats, including pdf | compattask |
catimages.py | Image by content categorization | compattask |
censure.py | Bad word checker bot | compattask |
cfd.py | This script processes the Categories for discussion working pages | |
commons_category_redirect.py | Script to clean up non-empty catecory redirect category on Commons | |
copyright.py | Checks for text violating copyright by looking for matches in search engines | compattask |
copyright_clean.py | Script to remove on wiki pages reports of copyright.py | compattask |
copyright_put.py | Script to put reports of copyright.py to wiki page | compattask |
deledpimage.py | Script to remove EDP images in non-article namespaces | compattask |
get.py | Get a page and writes its contents to standard output | |
inline_images.py | This bot goes over multiple pages of the home wiki, and looks for images that are linked inline (i.e., they are hosted from an external server and hotlinked, instead of using the wiki's upload function) | compattask |
overcat_simple_filter.py | A bot script to do some simple over categorization filtering | compattask |
panoramiopicker.py | Script to copy a Panoramio set to image repository (Commons) | |
spellcheck.py | This bot spellchecks wiki pages | compattask |
splitwarning.py | Splits a interwiki.log file into chunks of warnings separated by language | |
standardize_notes.py | This bot will standardize footnote references | |
statistics_in_wikitable.py | This bot renders siteinfo statistics in a table on a wiki page | |
subster.py | Script doing substitutions of tags within wiki page content | |
tag_nowcommons.py | This script tags files available at Commons with the Nowcommons template | compattask |
warnfile.py | creates backlinks from an interwiki.log file | compattask |
External links
- Pywikibot Scripts Descriptions
- Pywikibot package content of framework