ParsoidPHP

Two-way MediaWiki wikitext↔HTML parser.

Localisation

banana-i18nJS, Vue, React

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

Bcp47CodePHP

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

CLDRPluralRuleParserPHP

Parse CLDR plural rules from Unicode.

cldrpluralruleparser.jsJS

Parse CLDR plural rules from Unicode.

CSSJanusJS

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

IPAValidatorPHP

Composer package for validating and normalizing IPA

jQuery.i18nJS

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

language-dataJS, PHP

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

php-cssjanusPHP

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

UnicodeJSJS

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

utfnormalPHP

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

User experience

CodexJS, 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 TokensCSS, Less, Sass, JSON

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

Codex IconsSVG, Less

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

OOUIJS, PHP

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

Apps

Who Wrote ThatJS

Explore authorship and revision informationon Wikipedia with this browser app.

Wikipedia for AndroidJava

The official Wikipedia app.

Wikipedia for iOSSwift

The official Wikipedia app.

Libraries

AhoCorasickPHP

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

AleaPHP

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

AssertPHP

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

at-easePHP

Safe alternative to PHP's error-control operator.

base-convertPHP

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

CDBPHP

Fast and highly reliable key-value database file format.

clover-diffPHP

A PHP tool to diff two clover.xml files

CommonPasswordsPHP

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

css-sanitizerPHP

CSS parser in pure PHP to transform or filter stylesheets.

DeadlinkCheckerPHP

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

DodoPHP

DOm DOcument implementation in pure PHP

EquivsetPHP

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

HtmlFormatterPHP

Transformations for MediaWiki HTML output, based on libxml2.

IDLeDOMPHP

DOM interfaces generated from WebIDL

IPSetPHP

Efficient matching of IP addresses against CIDR specifications.

IPUtilsPHP

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

jQuery ClientJS

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

JsonCodecPHP

Interfaces to serialize and deserialize PHP objects to/from JSON

LangConvPHP

FST-based implementation of language and script conversion.

MinifyPHP

Minification of JavaScript code and CSS stylesheets.

mwbot-rsRust

framework for writing MediaWiki bots and tools in Rust

mwseaqlRust

MediaWiki table definitions for sea-ql

NormalizedExceptionPHP

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

oauthclient-php

OAuth client for Wikipedia and other MediaWiki sites.

ObjectFactoryPHP

Construct objects based on a static description.

OOjsJS

Create, extend and mixin classes with JavaScript.

phan-taint-check-pluginPHP

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

php-session-serializerPHP

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

PurtlePHP

Fast streaming RDF serializer for PHP.

RelPathPHP

Compute the relative path between two file paths.

RemexHtmlPHP

Fast HTML5 parser in pure PHP.

RequestTimeoutPHP

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

RunningStatPHP

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

ScopedCallbackPHP

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

ServicesPHP

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

ShellboxPHP

Web service for containerized shell execution.

TextCatPHP

PHP port of the TextCat language guesser utility

TimestampPHP

Create, parse, and format timestamps.

WaitConditionLoopPHP

Poll a condition and manage code execution between checks.

WebIDLPHP

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

Wikimedia SlimAppPHP

WrappedStringPHP

Merge similarly formatted strings.

ZestPHP

Port of the zest.js CSS selector library

Infrastructure

Arc LampPython, PHP

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

BlubberGo

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

coalPython

Process performance beacons and submit moving medians directly to Graphite.

CuminPython

Framework for remote command execution.

Discovery Parent Pomjava

Maven parent pom for Wikimedia

DNS

Wikimedia DNS zones and GeoDNS configuration.

docker-pkgPython

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

ecs

WMF Common Logging Schema based on Elastic Common Schema

ExcimerC, PHP

Low-overhead interrupting timer and sampling profiler for PHP.

FreshShell

Shell environment for frontend development.

Gearman Java

Java implementation of the Gearman protocol

homerPython

Configuration manager for network devices.

homer-publicYAML, Jinja2

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

LuaSandboxC, PHP

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

MediaWiki-VagrantPuppet

Portable MediaWiki development environment.

PipelineLibGroovy

Container-based CI workflow specification and task runner.

PoolCounterC

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

Puppet

Server provisioning and configuration for Wikimedia Foundation production.

QuibblePython

Test runner for MediaWiki.

Release Engineering

Diagrams for WMF CI and deployment systems.

RESTBase

ScapPython

The deployment tool used by Wikimedia Foundation.

search-extraJava

Elasticsearch plugin, used by CirrusSearch.

search-highlighterJava

Elasticsearch plugin, used by CirrusSearch.

SpicerackPython

Task orchestration framework, based on Cumin.

SRE CookbooksPython

Collection of Spicerack cookbooks for WMF production infrastructure.

tox-jenkins-overridePython

Tox v4 plugin to restore [tox:jenkins]

transferpyPython

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

Wikidata Query ServiceJava

wikidiff2C, PHP

Fast diff engine for MediaWiki.

wmerrorsC, PHP

Extended error handling and display.

wmflibPython

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

Testing

eslint-config-wikimediaJS

JavaScript style guide for Wikimedia software.

eslint-plugin-mediawikiJS

ESLint rules for MediaWiki-specific JavaScript idioms.

eslint-plugin-no-jqueryJS

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

FresnelJS

Measure and compare performance of web pages.

grunt-stylelintJS

Stylelint adapter for the Grunt task runner.

MediaWiki API testingJS

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

stylelint-config-wikimediaJS

CSS style guide for Wikimedia software.

testing-access-wrapperPHP

Convenient shortcuts for accessing protected or private properties and methods.

MediaWiki components

CirrusSearch

Elasticsearch integration for MediaWiki.

CodeMirrorJS, PHP

Syntax highlighting for MediaWiki editors

Kartographer

Add map capabilitity to wiki pages.

TimedMediaHandlerJS

Allows you to display audio and video files in wiki pages

Analytics

analytics.wikimedia.orgHTML

Dashboards and data downloads for Wikimedia projects.

Analytics API Documentation

Open access to data about Wikipedia and other Wikimedia projects.

Microsites

annual.wikimedia.orgHTML

Annual report.

developer.wikimedia.orgHTML

Portal for Wikimedia developers.

integration.wikimedia.orgHTML

Doc and Coverage reports.

performance.wikimedia.orgHTML

Metrics, flame graphs, profiles.

research.wikimedia.orgHTML

Research landing page.

stats.wikimedia.orgHTML, JS

Wikistats 2.0.

transparency.wikimedia.orgHTML

Transparency report.

www.wikipedia.orgHTML

Portal for Wikipedia.org and other Wikimedia projects.