Code Monkey home page Code Monkey logo

wikiclientlibrary's Introduction

Wiki Client Library

Build Status Gitter

A hand-crafted asynchronous MediaWiki API client library for wiki sites (including Wikipedia and its sister projects, as well as FANDOM and Wikia.org. The library targets at .NET Standard 2.1 & .NET 5.0 (See Supported Platforms), and focuses on the API compatibility with MediaWiki 1.19, as well as the state-of-art APIs of MediaWiki (i.e. 1.34-wmf, as in 2019-05). Other versions in between are hopefully also compatible.

For migrated FANDOM sites on MW 1.33+ (See UCP migration post), you may need to use Bot Password in order to login successfully.

If you are on prior versions of .NET Core or .NET Framework, you may use prior version of the WCL packages. WCL v0.7.x libraries target .NET Standard 1.1 and should support lower versions of the .NET implementations.

The packages CXuesong.MW.WikiClientLibrary.* are now available on NuGet. E.g. you may install the main package using the following command

#  Package Management Console
Install-Package CXuesong.MW.WikiClientLibrary
#  .NET CLI
dotnet add package CXuesong.MW.WikiClientLibrary
Package Status
CXuesong.MW.WikiClientLibrary NuGet version (CXuesong.MW.WikiClientLibrary) NuGet version (CXuesong.MW.WikiClientLibrary)
CXuesong.MW.WikiClientLibrary.Cargo NuGet version (CXuesong.MW.WikiClientLibrary.Cargo)NuGet version (CXuesong.MW.WikiClientLibrary)
CXuesong.MW.WikiClientLibrary.Flow NuGet version (CXuesong.MW.WikiClientLibrary.Flow) NuGet version (CXuesong.MW.WikiClientLibrary.Flow)
CXuesong.MW.WikiClientLibrary.Wikia NuGet version (CXuesong.MW.WikiClientLibrary.Wikia) NuGet version (CXuesong.MW.WikiClientLibrary.Wikia)
CXuesong.MW.WikiClientLibrary.Wikibase NuGet version (CXuesong.MW.WikiClientLibrary.Wikibase) NuGet version (CXuesong.MW.WikiClientLibrary.Wikibase)

If you bump into bugs, have any suggestions or feature requests, feel free to open an issue. Any contributions on documentations (code annotations & repository wiki) are also welcomed. Thank you.

See also

Overview

Developed in Visual Studio 2019, this portable & asynchronous MediaWiki API client provides an easy and asynchronous access to commonly-used MediaWiki API. The library has the following features

  • Queries for and edits to pages, categories, and files; page information inspection; file uploading.

  • Login/logout via simple asynchronous functions.

    • Client code has access to CookieContainer, and therefore has chance to persist it.
  • Tokens are encapsulated in the library functions, so that client won't bother to retrieve them over and over again.

  • Query continuations are encapsulated by IAsyncEnumerable, which will ease the pain when using page generators.

  • Other miscellaneous MediaWiki API, such as

    • OpenSearch
    • Page parsing
    • Patrol
  • Scribunto Lua console and server-side module execution support

  • StructuredDiscussions (aka. Flow) support

  • Basic Wikibase (Wikidata's back-end) API support; the library provides facility to consume Wikibase JSON dump

  • Basic FANDOM / Wikia API (Nirvana, Wikia AJAX, and Wikia REST-ful API v1) support

wikiclientlibrary's People

Contributors

cxuesong avatar fafre avatar ashotjanibekyan avatar aquilla12 avatar user123698745 avatar mormegil-cz avatar stjohann avatar silic0ns0ldier avatar ntrpnr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.