| Crates.io | mediawiki_rest_api |
| lib.rs | mediawiki_rest_api |
| version | 0.2.1 |
| created_at | 2025-10-21 11:53:17.094117+00 |
| updated_at | 2025-10-28 10:55:58.68733+00 |
| description | A Rust client for the MediaWiki REST API. |
| homepage | |
| repository | https://github.com/magnusmanske/mediawiki_rest_api |
| max_upload_size | |
| id | 1893712 |
| size | 4,156,033 |
This Rust crate provides a client for the MediaWiki REST API.
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();
File: completePage: completeRevision: completeTransform: completeMath: completeOAuth2: implemented (as part of token management for POST etc)CheckUser: not implementedEventBus: not implementedFlaggedRevs: not implementedGrowthExperiments: not implementedIPinfo: not implementedSecurePoll: not implementedSiteMap: not implementedCampaignEvents: not implementedWikimediaCampaignEvents: not implemented