API:Client code

This page is a translated version of the page API:Client code and the translation is 53% complete.

Client libraries contain code that developers can use to help with common and basic tasks, so that they don't have to write the code from scratch when their projects interact with an API.

This page contains a set of lists, by language, of several recommended client libraries that can be used with the MediaWiki Action API. The recommendations are based on evaluations using API:Client code/Gold standard .

New and/or unevaluated libraries can be added to API:Client_code/All .

API client libraries

Last activity refers to the last commit in the repository.
Dates and version numbers were updated on 2019-06-19.

Awk

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
BotWikiAwk Framework and libraries for creating bots. Includes example bots.
Wikiget Awk CLI program to interface with MediaWiki API for read/write including OAuth.

Bash

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
bash-mediawiki An example with Curl that allows easy editing/uploading of a wiki through the MediaWiki API.

C++

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
libmediawiki A library that allows easy editing of a wiki through the MediaWiki API.

Common Lisp

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
cl-mediawiki A Common Lisp wrapper for the MediaWiki API.

Elixir

ชื่อ รายละเอียด Last release Release Date Last activity
mediawiki_client_ex Adapter for the Action API, EventStreams, and ORES. (Documentation) 0.4.1

Go

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
go-mediawiki Go wrapper for the MediaWiki API. v0.1
go-mwclient Wrapper for the MediaWiki API (supports maxlag, query continuations, OAuth). v1.2.0

Haskell

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
haskell mediawiki A complete Haskell binding to the MediaWiki API letting you programmatically access (read and write) MediaWiki content. 0.2.6

Java

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
JavaWikiBotFramework A library to retrieve data from and maintain MediaWiki-based wikis such as Wikipedia. 4.0.0
jwiki A library for effortlessly interacting with Wikipedia/MediaWiki. 1.8.0
Bliki Engine Can convert wikicode to HTML, DocBook or PDF. Has a helper library for API calls.

More Java libraries available at API:Client_code/All#Java.

JavaScript

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
mwn (Node.js) Mwn is a modern and feature-rich API client with support for both JavaScript and TypeScript. Has classes for conveniently working with page titles and parsing wikitext. Supports both OAuth and BotPasswords. v2.0.2
mwbot (Node.js) MWBot uses the Promise pattern and other ES6 methodologies, optimised for creating bots that make edits. Works with any MediaWiki site. v2.0.0
nodemw (Node.js) A generic MediaWiki API client for Node.js. v0.16.0
wikiapi (Node.js) A simple way to access MediaWiki API via JavaScript with simple wikitext parser. v1.16.0
mediawiki.api (browser) Generic MediaWiki API client for client-side JavaScript. It ships with MediaWiki core as a ResourceLoader module bundle. It abstracts some high-level concepts and provides a generic client for other queries. Maintained as part of MediaWiki.

In-wiki JavaScript clients:

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
mwapilib2 A layer overtop of the requests. Make JS gadgets easier.
JsMwApi A convenience wrapper around raw requests, with some helpers for editing and parsing.

More JavaScript libraries available at API:Client_code/All#JavaScript.

Lua

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
dtMediaWiki Makes query (tokens, userinfo), clientlogin, upload, and logout calls. It handles HTTPS requests and cookies and can be used to upload files to Wikimedia Commons.

MATLAB

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
MatWiki A preliminary (as of Feb 2019) MATLAB R2016b(9.1.x) client supporting just bot-logins & semantic #ask queries. v1.0.0

.NET

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
WikiFunctions Library with classes for editing and getting lists of pages via the API, used by AutoWikiBrowser. 6.2.1.0
LinqToWiki Strongly typed library for accessing most of MediaWiki API, with support for autocompletion. 1.5.0
WikiClientLibrary A .NET Standard & asynchronous MediaWiki API client library for wiki sites. The library also supports Flow/Wikibase/Wikia-specific API. v0.7.5

More .NET libraries available at API:Client code/All#.NET.

OCaml

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
ocaml-mediawiki A high-level binding for the MediaWiki API written in OCaml.

Perl

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
MediaWiki::Bot A higher-level Perl module with read and write functions. Easily extensible with plugins, for example to provide administrator functions (Evaluation).

source code on GitHub.

5.006003
MediaWiki::API A Perl module for interfacing with the MediaWiki API with file upload/download and editing support. (Debian package). (Evaluation). 0.41

PHP

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
mediawiki-api-base Library for basic MediaWiki api use. 2.4.0
mediawiki-api A simple library for interacting with the MediaWiki API. 0.7.2
wikibase-api Library for querying Wikidata. 0.7

More PHP libraries available at API:Client code/All#PHP.

Python

ชื่อ Type hints รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
Pywikibot (docs) Yes A collection of Python scripts and a powerful library for bot writing. (PyPI) (Git repository) (#pywikibot connect) (Evaluation). 9.5.0
pwiki (docs) Yes A Python library for developing bots/tools, focused on ease of use and simplicity. 1.1.1
mwclient (docs) No Python library that makes most of the API functions accessible. (PyPI) (Evaluation). 0.10.1
wiki-scripts (docs) No Framework for writing bots, maintenance scripts or performing data analysis. 1.2

Simple Python wrappers for no-abstraction interfaces to the MediaWiki API and basic session handling:

ชื่อ Type hints รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
pywikiapi No A minimalistic library that handles some of the core MediaWiki API complexities like handling continuations, login, errors, and warnings, but does not impose any additional abstraction layers. 1.3.2
Wikipedia (docs) No A Python library that makes it easy to access and parse data from Wikipedia. v1.1
wikitools No Provides several layers of abstraction around the API. Doesn't support Python 3. 0.41

More Python libraries available at API:Client code/All#Python.

R

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
WikipediR A wrapper for the MediaWiki API, aimed particularly at the Wikimedia 'production' wikis, such as Wikipedia. Can be used to retrieve page text, information about users or the history of pages, and elements of the category tree. 1.5.0

Ruby

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
MediaWiki::Butt Stable and powerful Ruby framework for the API. (Evaluation) 3.0.0
wikipedia-client Ruby framework using the API. v1.10.0
MediaWiki Ruby API Ruby API client library in active development by Wikimedia Foundation Release Engineering. 0.71

More Ruby libraries available at API:Client code/All#Ruby.

Rust

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
Wikibase RS Rust library to talk to the Wikibase API and serialize data into Rust data structures. 0.37
mediawiki_rust A MediaWiki client library in Rust.
mwbot-rs A framework for writing bots on MediaWiki 0.4.3
wiki Library for interacting with MediaWiki APIs 0.0.3

More Rust libraries available at API:Client code/All#Rust.

Scala

ชื่อ รายละเอียด รุ่นล่าสุด วันที่เผยแพร่ กิจกรรมสุดท้าย
scalawiki MediaWiki client in Scala. 0.6.3
dbpedia extraction framework Data extraction framework for DBpedia with support Wiki source retrieved via MediaWiki API. DBpedia_2015-10
scmw Simple MediaWiki API wrapper for needs of Commonist image upload tool. v-0.140.0

ดูเพิ่ม