mediawiki_rest_api

Crates.iomediawiki_rest_api
lib.rsmediawiki_rest_api
version0.2.1
created_at2025-10-21 11:53:17.094117+00
updated_at2025-10-28 10:55:58.68733+00
descriptionA Rust client for the MediaWiki REST API.
homepage
repositoryhttps://github.com/magnusmanske/mediawiki_rest_api
max_upload_size
id1893712
size4,156,033
Magnus Manske (magnusmanske)

documentation

README

Crates.io Crates.io License License

This Rust crate provides a client for the MediaWiki REST API.

Usage

use mediawiki_rest_api::prelude::*;

// Create a client for the English Wikipedia REST API
let api = RestApiBuilder::wikipedia("en").build();

// From the page "Rust (programming language)"...
let page = Page::new("Rust (programming language)");

// ...retrieve basic information and wikitext
let (page_info,wikitext) = page.get(&api, false).await.unwrap();

// Edit an existing page
let token = "my_oauth_token";
let api = RestApiBuilder::wikipedia("en")
    .with_access_token(token)
    .build();
let (page_info,_) = page.get(&api, false).await.unwrap();
page.edit(&api, &page_info.latest, "new page wikitext", "a comment")
    .await
    .expect("Failed to edit page");

// Convert some wikitext to Parsoid HTML.
let html = Transform::wikitext2html("[[Foo|bar]]", &api).await.unwrap();

Status

  • File: complete
  • Page: complete
  • Revision: complete
  • Transform: complete
  • Math: complete
  • OAuth2: implemented (as part of token management for POST etc)
  • CheckUser: not implemented
  • EventBus: not implemented
  • FlaggedRevs: not implemented
  • GrowthExperiments: not implemented
  • IPinfo: not implemented
  • SecurePoll: not implemented
  • SiteMap: not implemented
  • CampaignEvents: not implemented
  • WikimediaCampaignEvents: not implemented
Commit count: 0

cargo fmt