# mwclient

> Python library

**Wikidata**: [Q116275445](https://www.wikidata.org/wiki/Q116275445)  
**Source**: https://4ort.xyz/entity/mwclient

## Summary
mwclient is a Python library for interacting with MediaWiki-based websites, including Wikipedia. It provides a simple interface for accessing and manipulating wiki content through the MediaWiki API.

## Key Facts
- mwclient is a Python package licensed under the MIT License
- The library was created by Bryan Tong Minh and is currently maintained by developers including Megan Cutrofello and Dan Michael O. Heggø
- Version 0.7.0 was released on December 19, 2014, with subsequent versions up to 0.8.6 released through July 31, 2017
- mwclient is cross-platform software that runs on multiple operating systems
- The library depends on software including requests-oauthlib and uses pytest for unit testing
- Source code is hosted on GitHub at https://github.com/mwclient/mwclient
- Documentation is available at https://mwclient.readthedocs.io/en/latest/

## FAQs
### Q: What is mwclient used for?
A: mwclient is used for programmatically interacting with MediaWiki-based websites, allowing developers to read, edit, and manage wiki content through Python scripts.

### Q: Is mwclient free to use?
A: Yes, mwclient is free software distributed under the MIT License, which allows users to freely run, study, change, and distribute the software.

### Q: What programming language is mwclient written in?
A: mwclient is written in Python and is specifically designed as a Python package for MediaWiki API interaction.

### Q: Where can I find mwclient documentation?
A: Documentation for mwclient is available at https://mwclient.readthedocs.io/en/latest/ and the library is also listed on PyPI at https://pypi.org/project/mwclient/.

### Q: How do I report issues with mwclient?
A: Issues can be reported through the GitHub issue tracker at https://github.com/mwclient/mwclient/issues.

## Why It Matters
mwclient plays a crucial role in the ecosystem of MediaWiki-based platforms by providing developers with a powerful, Pythonic interface to interact with wiki content programmatically. This library significantly reduces the complexity of working with the MediaWiki API, which would otherwise require developers to handle raw HTTP requests and complex API parameters. By abstracting these details into a clean Python interface, mwclient enables automation of wiki tasks, data extraction, content management, and integration of wiki functionality into larger applications. Its importance is particularly evident in scenarios involving large-scale wiki operations, research projects that need to harvest wiki data, or tools that need to synchronize information between wikis and other systems. The library's cross-platform nature and Python foundation make it accessible to a wide range of developers, while its open-source licensing ensures it can be freely used and modified for various applications.

## Notable For
- Being one of the most popular Python libraries specifically designed for MediaWiki API interaction
- Maintaining compatibility with multiple MediaWiki versions through regular updates
- Providing comprehensive documentation and active community support
- Supporting OAuth authentication for secure wiki interactions
- Being packaged in major Linux distributions including Debian and available through AUR

## Body
### Development and Maintenance
mwclient was originally developed by Bryan Tong Minh as a Python interface to the MediaWiki API. The project has since evolved with contributions from multiple developers, including Megan Cutrofello and Dan Michael O. Heggø. The library follows semantic versioning, with stable releases documented from version 0.7.0 through 0.8.6.

### Technical Architecture
The library is built using Python and depends on several key packages for its functionality. Requests-oauthlib provides OAuth authentication capabilities, while pytest and pytest-cov are used for unit testing and coverage analysis. The codebase is hosted on GitHub, facilitating community contributions and issue tracking.

### Distribution and Installation
mwclient is distributed through multiple channels to ensure accessibility. It's available on PyPI (Python Package Index) as 'mwclient', making installation straightforward via pip. The library is also packaged for Debian-based systems as 'python3-mwclient' and has an AUR package 'python-mwclient' for Arch Linux users.

### Documentation and Support
Comprehensive documentation is maintained at https://mwclient.readthedocs.io/en/latest/, providing users with detailed guides and API references. The project maintains a Matrix room (#mwclient_mwclient:gitter.im) for community discussion and support. Users can also engage through the GitHub repository for issues, feature requests, and contributions.

### Compatibility and Requirements
As cross-platform software, mwclient operates on various operating systems without platform-specific limitations. The library requires Python as its programming language and works with the MediaWiki Action API, making it compatible with all MediaWiki-based platforms including Wikipedia, Wikimedia Commons, and other wiki installations.

## References

1. [Release 0.7.0. 2014](https://github.com/mwclient/mwclient/releases/tag/v0.7.0)
2. [Release 0.7.1. 2014](https://github.com/mwclient/mwclient/releases/tag/v0.7.1)
3. [Release 0.7.2. 2015](https://github.com/mwclient/mwclient/releases/tag/v0.7.2)
4. [Release 0.8.0. 2016](https://github.com/mwclient/mwclient/releases/tag/v0.8.0)
5. [Release 0.8.1. 2016](https://github.com/mwclient/mwclient/releases/tag/v0.8.1)
6. [Release 0.8.2. 2016](https://github.com/mwclient/mwclient/releases/tag/v0.8.2)
7. [Release 0.8.3. 2016](https://github.com/mwclient/mwclient/releases/tag/v0.8.3)
8. [Release 0.8.4. 2017](https://github.com/mwclient/mwclient/releases/tag/v0.8.4)
9. [Release 0.8.5. 2017](https://github.com/mwclient/mwclient/releases/tag/v0.8.5)
10. [Release 0.8.6. 2017](https://github.com/mwclient/mwclient/releases/tag/v0.8.6)
11. [Release 0.8.7. 2018](https://github.com/mwclient/mwclient/releases/tag/v0.8.7)
12. [Release 0.9.0. 2018](https://github.com/mwclient/mwclient/releases/tag/v0.9.0)
13. [Release 0.9.1. 2018](https://github.com/mwclient/mwclient/releases/tag/v0.9.1)
14. [Release 0.9.2. 2018](https://github.com/mwclient/mwclient/releases/tag/v0.9.2)
15. [Release 0.9.3. 2018](https://github.com/mwclient/mwclient/releases/tag/v0.9.3)
16. [Release 0.10.0. 2019](https://github.com/mwclient/mwclient/releases/tag/v0.10.0)
17. [Release 0.10.1. 2020](https://github.com/mwclient/mwclient/releases/tag/v0.10.1)
18. [Release 0.11.0. 2024](https://github.com/mwclient/mwclient/releases/tag/v0.11.0)
19. [Source](https://api.github.com/repos/mwclient/mwclient)