API:Client code

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 up-to three recommended client libraries that can be used with the MediaWiki Action API. The recommendations are based on evaluations using API:Client_code/Gold_standard.

A set of lists of all libraries can be found at API:Client_code/All. New and/or unevaluated libraries should be added to API:Client_code/All.

Awk
Dates and version numbers were updated on 2019-06-19.

C++
Dates and version numbers were updated on 2019-06-19.

Common Lisp
Dates and version numbers were updated on 2019-06-19.

Go
Dates and version numbers were updated on 2019-06-19.

Haskell
Dates and version numbers were updated on 2019-06-19.

Java
Dates and version numbers were updated on 2019-06-19. More Java libraries available at API:Client_code/All#Java.

JavaScript
Dates and version numbers were updated on 2019-06-19.

In-wiki JavaScript clients
More Javascript libraries available at API:Client_code/All#Javascript.

Lua
Dates and version numbers were updated on 2019-06-19.

MATLAB
Dates and version numbers were updated on 2019-06-19.

.NET
Dates and version numbers were updated on 2019-06-19. More .NET libraries available at API:Client_code/All#.NET.

OCaml
Dates and version numbers were updated on 2019-06-19.

Perl
Dates and version numbers were updated on 2019-06-19.

PHP
Dates and version numbers were updated on 2019-06-19. More PHP libraries available at API:Client_code/All#PHP.

There are many PHP frameworks for the api, see here for a full list and comparison of frameworks.

Sometimes people try to use these kind of libraries to access a MediaWiki installation on the same server. This is often unnecessary because MediaWiki itself is written in PHP, especially when the only purpose of the script is interacting with MediaWiki. By 'ing  (  may need to be set beforehand, see Manual:$IP), a script gets access to MediaWiki components and consequently it can call the API internally or use other MediaWiki classes and functions directly, which greatly reduces server load.
 * }

Python
Dates and version numbers were updated on 2019-06-19.

Simple wrappers
For no-abstraction interfaces to the MediaWiki API and basic session handling. More Python libraries available at API:Client_code/All#Python.

R
Dates and version numbers were updated on 2019-06-19.

Ruby
Dates and version numbers were updated on 2019-06-19. More Ruby libraries available at API:Client_code/All#Ruby.

Rust
Dates and version numbers were updated on 2019-06-19. More Rust libraries available at API:Client_code/All#Rust.

Scala
Dates and version numbers were updated on 2019-06-19.