Parsoid PHP

Two-way MediaWiki wikitext↔HTML parser.

VisualEditor JS

Rich text visual editor for the browser with a MediaWiki integration. WYSIWYG, based on HTML5+RDFa and ContentEditable.

Localisation

banana-i18n JS, Vue, React

Internationalization library that uses "banana" format - A JSON based localization file format.

Bcp47Code PHP

A simple interface representing a language object which can be represented by a BCP 47 code.

CLDRPluralRuleParser PHP

Parse CLDR plural rules from Unicode.

cldrpluralruleparser.js JS

Parse CLDR plural rules from Unicode.

CSSJanus JS

Convert stylesheets from left-to-right to right-to-left.

IPAValidator PHP

Composer package for validating and normalizing IPA

jQuery.i18n JS

Interface text localisation with support for CLDR plural rules, language fallbacks, Banana JSON files, and more.

language-data JS, PHP

Language related data based on CLDR and utility libraries to interact with that data

php-cssjanus PHP

Convert stylesheets from left-to-right to right-to-left. (PHP port)

UnicodeJS JS

String manipulation based on Unicode standard word breaks, graphemes, and character classes.

utfnormal PHP

Unicode normalization routines to produce NFC/UTF-8 strings.

User experience

Codex JS, Vue, CSS

Design and build accessible and internationalization-ready user interfaces with the Wikimedia Design System. Features Vue 3 and CSS-only components.

Codex Design Tokens CSS, Less, Sass, JSON

Stylesheets in various flavors and JSON containing Wikimedia Design style values.

Codex Icons SVG, Less

Codex icons in 'WikimediaUI' theme style as Less vars with SVG paths for Vue 3 apps.

OOUI JS, PHP

Rapidly create web-applications in JS or PHP. Cross-browser, i18n and a11y ready.

Apps

Who Wrote That JS

Explore authorship and revision informationon Wikipedia with this browser app.

Wikipedia for Android Java

The official Wikipedia app.

Wikipedia for iOS Swift

The official Wikipedia app.

Libraries

AhoCorasick PHP

Efficient searching for multiple keywords in a string using the Aho-Corasick algorithm.

Alea PHP

Pure PHP port of the JavaScript alea.js seedable pseudo-random number generator library.

Assert PHP

Run-time assertions for parameter types, preconditions and postconditions.

at-ease PHP

Safe alternative to PHP's error-control operator.

base-convert PHP

Convert arbitrarily-length strings from one numeric base to another.

CDB PHP

Fast and highly reliable key-value database file format.

clover-diff PHP

A PHP tool to diff two clover.xml files

CommonPasswords PHP

A list of common passwords implemented to provide NIST best practices of preventing usage of the 100,000 most used passwords.

css-sanitizer PHP

CSS parser in pure PHP to transform or filter stylesheets.

DeadlinkChecker PHP

A PHP library for checking if a given url is dead or alive

Dodo PHP

DOm DOcument implementation in pure PHP

Equivset PHP

Detect visually similar UTF-8 characters, partially based on Unicode Confusables.

HtmlFormatter PHP

Transformations for MediaWiki HTML output, based on libxml2.

IDLeDOM PHP

DOM interfaces generated from WebIDL

IPSet PHP

Efficient matching of IP addresses against CIDR specifications.

IPUtils PHP

Parsing and formatting of IPv4/IPv6 addresses and CIDR ranges.

jQuery Client JS

A minimal user-agent parser for client-side JavaScript.

JsonCodec PHP

Interfaces to serialize and deserialize PHP objects to/from JSON

LangConv PHP

FST-based implementation of language and script conversion.

Minify PHP

Minification of JavaScript code and CSS stylesheets.

mwbot-rs Rust

framework for writing MediaWiki bots and tools in Rust

NormalizedException PHP

A minimal library to facilitate PSR-3-friendly exception handling

oauthclient-php

OAuth client for Wikipedia and other MediaWiki sites.

ObjectFactory PHP

Construct objects based on a static description.

OOjs JS

Create, extend and mixin classes with JavaScript.

phan-taint-check-plugin PHP

A Phan plugin meant to use static analysis to find certain types of security vulnerabilities in PHP code

php-session-serializer PHP

Provides methods that work like PHP's session_encode and session_decode functions but don't mess with the $_SESSION superglobal.

Purtle PHP

Fast streaming RDF serializer for PHP.

RelPath PHP

Compute the relative path between two file paths.

RemexHtml PHP

Fast HTML5 parser in pure PHP.

RequestTimeout PHP

Provides a global request timeout concept, ideally using Excimer, with a fallback to set_time_limit()

RunningStat PHP

Compute statistics for a stream of numbers using only constant space.

ScopedCallback PHP

Invoke a callback automatically after an object goes out of scope.

Services PHP

Generic service container to manage named services using lazy instantiator callbacks.

Shellbox PHP

Web service for containerized shell execution.

TextCat PHP

PHP port of the TextCat language guesser utility

Timestamp PHP

Create, parse, and format timestamps.

WaitConditionLoop PHP

Poll a condition and manage code execution between checks.

WebIDL PHP

Parser for Web IDL, a language to specify web APIs in interoperable way

Wikimedia SlimApp PHP

WrappedString PHP

Merge similarly formatted strings.

XMPReader PHP

Zest PHP

Port of the zest.js CSS selector library

Infrastructure

Arc Lamp Python, PHP

Gather stack traces from a PHP 7 app with Excimer and publish them as flame graphs and trace logs.

Blubber Go

BuildKit frontend for building application container images from a minimal set of declarative constructs in YAML.

coal Python

Process performance beacons and submit moving medians directly to Graphite.

Cumin Python

Framework for remote command execution.

Discovery Parent Pom java

Maven parent pom for Wikimedia

DNS

Wikimedia DNS zones and GeoDNS configuration.

docker-pkg Python

Manage creation and updating of Docker images in a unified way.

ecs

WMF Common Logging Schema based on Elastic Common Schema

Excimer C, PHP

Low-overhead interrupting timer and sampling profiler for PHP.

Fresh Shell

Shell environment for frontend development.

Gearman Java

Java implementation of the Gearman protocol

homer Python

Configuration manager for network devices.

homer-public YAML, Jinja2

Configuration files for Homer (configuration manager for network devices).

LuaSandbox C, PHP

Safely execute untrusted Lua 5.1 code, natively from PHP or HHVM.

MediaWiki-Vagrant Puppet

Portable MediaWiki development environment.

PipelineLib Groovy

Container-based CI workflow specification and task runner.

PoolCounter C

Lock manager service which provides mutex-like functionality, with a limited wait queue length.

Puppet

Server provisioning and configuration for Wikimedia Foundation production.

Quibble Python

Test runner for MediaWiki.

Release Engineering

Diagrams for WMF CI and deployment systems.

RESTBase

Scap Python

The deployment tool used by Wikimedia Foundation.

search-extra Java

Elasticsearch plugin, used by CirrusSearch.

search-highlighter Java

Elasticsearch plugin, used by CirrusSearch.

Spicerack Python

Task orchestration framework, based on Cumin.

SRE Cookbooks Python

Collection of Spicerack cookbooks for WMF production infrastructure.

tox-jenkins-override Python

Tox v4 plugin to restore [tox:jenkins]

transferpy Python

Tool that can move large files over the network and backup mariadb servers.

Wikidata Query Service Java

wikidiff2 C, PHP

Fast diff engine for MediaWiki.

wmerrors C, PHP

Extended error handling and display.

wmflib Python

Generic Python library for common tasks in the WMF production infrastructure.

Testing

eslint-config-wikimedia JS

JavaScript style guide for Wikimedia software.

eslint-plugin-mediawiki JS

ESLint rules for MediaWiki-specific JavaScript idioms.

eslint-plugin-no-jquery JS

Control allowance of certain jQuery functions, and suggest or autofix alternatives.

Fresnel JS

Measure and compare performance of web pages.

grunt-stylelint JS

Stylelint adapter for the Grunt task runner.

MediaWiki API testing JS

A library for end-to-end integration tests of MediaWiki APIs

stylelint-config-wikimedia JS

CSS style guide for Wikimedia software.

testing-access-wrapper PHP

Convenient shortcuts for accessing protected or private properties and methods.

MediaWiki components

CirrusSearch

Elasticsearch integration for MediaWiki.

Kartographer

Add map capabilitity to wiki pages.

TimedMediaHandler JS

Allows you to display audio and video files in wiki pages

Microsites

analytics.wikimedia.org HTML

annual.wikimedia.org HTML

Annual report.

developer.wikimedia.org HTML

Portal for Wikimedia developers.

integration.wikimedia.org HTML

Doc and Coverage reports.

performance.wikimedia.org HTML

Metrics, flame graphs, profiles.

research.wikimedia.org HTML

Research landing page.

stats.wikimedia.org HTML, JS

Wikistats 2.0.

transparency.wikimedia.org HTML

Transparency report.

www.wikipedia.org HTML

Portal for Wikipedia.org and other Wikimedia projects.