This page looks best with JavaScript enabled

mwclient 0.11

 ·  ☕ 3 min read

mwclient version 0.11.0 was released this past weekend! You can update with pip install -U mwclient.

You can check the 0.11.0 release tag to see the full changelog for this release, and many thanks to all the contributors who made their first contribution in this release!

New in 0.11.0

There’s a lot. mwclient hasn’t had a release since early 2020, which is over four years ago. Some noteworthy changes:

  • Retrying on API timeout is improved
  • page.move() method now supports parameters move_subpages and ignore_warnings1
  • reqs is renamed to connections_options
  • The confusingly-named parameter limit is deprecated and renamed to api_chunk_size; new parameter max_items is added

Support of older Python versions dropped

The minimum Python version is now 3.5. In a future release, this will be increased to 3.6. I am not 100% sure, but I believe this means that if you are using Mediawiker, you must update to Sublimetext (4) (or simply use an outdated version of mwclient, which is fine).

Should you update immediately?

Yes, please do, we need people to test this build!! No but seriously, if your mwclient install is mission-critical, you may want to wait a bit for it to be tested better. Given the size of the MediaWiki ecosystem, the variety of types of installations,2 and the difficulty of running test suites when you are supporting so many versions of the software and the realities of testing against something like MediaWiki, it’s quite likely there are a couple hard-to-reproduce bugs. You may want to wait for 0.11.1 or even 0.11.2 before updating.

Future plans

We are looking forward to releasing 1.0.0 in the future, but not until we are certain that this version will actually be stable. Deprecating limit was a big change, and we didn’t want to do that at the same time as releasing the first stable version of the software. We have some large features that we think would be cool to add, but no promises - maybe you could add them!

  • An async client
  • A user class + methods
  • Better handling for MediaWiki’s logs
  • A more robust test suite and higher coverage %

Acknowledgements

Adam Williamson deserves almost all the credit for making this happen; he’s been making PRs, soliciting comments from the other maintainers & contributors, meeting deadlines (!), and ensuring the project got everything needed to push for a release. You’re reading this because of Adam’s work and I’m so, so grateful that MediaWiki has an active Python client library again because he made it happen. Thanks also to Marc Trölitzsch who has not only been helpful all along the way but also saw Adam’s request for a second maintainer approval on our release before I did and brought you the 0.11.0 release an entire day earlier as a result. 🎉

Huge thanks also to Dan Michael O. Heggø and Waldir Pimenta, who co-maintained this library before Adam, Marc, and I took over; and to the original creator of mwclient, Bryan Tong Minh.

Finally, thanks to YOU, the reader of this article, who are now inspired to contribute to mwclient and become our next new contributor 😉


  1. This was a PR I made to mwclient in 2020, and it not being added to any release for so long is part of why I created mwcleric. TBD how many mwcleric features make it into mwclient proper, I’m not sure if we want to add an mwparserfromhell dep, I think they make sense as separate things. Library vs framework kinda thing. ↩︎

  2. Including people running (significantly) EOL versions of MediaWiki 🙃 ↩︎

Share on

river
WRITTEN BY
River
River is a developer most at home in MediaWiki and known for building Leaguepedia. She likes cats.

What's on this Page