Requests for comment/Deprecate pywikibot-compat
This page is documentation for Pywikipedia Compat, which is no longer supported. This page is kept for historical interest. It may document scripts and features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date.
This task has been moved to Phabricator: phab:T99365.
Currently, the Pywikibot framework is split in two branches: 'core' (formerly 'rewrite') has full API support and is much more up-to-date with new MediaWiki features, while 'compat' (formerly 'trunk') is old and largely based on screen-scraping. I know of many bot-operators and developers that ported their scripts to the core branch. When I (Ricordisamoa) switched to 'core' (not much after that I started developing my bot, actually) I felt at first confused – also because of the annoying lack of documentation, for both core and compat – but then I understood that the old version was much more messy.
I am working on several bugfixes for core, along with a couple major changes (support for Flow and editing of multiple Wikibase claims at once) but I know that no one will take care of backporting them to compat. MediaWiki and its extensions are evolving fast, and we cannot keep two different bot frameworks up-to-date. Also, the documentation does not always tell them apart, and this is raising issues with less-experienced operators.
Some others are also working to make the framework compatible with Python 3 (bugzilla:58053), and again: why two versions?
Now, I am proposing to declare 'compat' officially deprecated in favor of 'core' and give notice of this on mail:pywikipedia-l and mail:pywikipedia-announce. Of course, we will have to solve bugzilla:55880 before.
We could even port some of the screen-scraping techniques to core, if API access is a problem for someone. But we should definitely keep them in a separate file.
- Manual:Pywikibot/Survey2012 about python version used
- Manual:Pywikibot/2.0 (goals, todo list, ideas - maybe outdated)
- Manual:Pywikibot/2.0/Conversion (maybe outdated)
- Project:Pywikibot/2.0/Porting status
- Manual:Pywikibot/Scripts also gives the porting status
- botwiki:Rewrite (starting the rewrite branch)
- I'm definitely I favor of deprecating compat but at first we need to make a to-do list and see what needs to be done, You know there are lots of thing needs to be done about this deprecation that I think we need to make a separate page and talk about them at first. things like documentation about migrating self-written codes, documentation for bot operators, porting remained scripts, etc. Ladsgroup (talk) 18:55, 22 April 2014 (UTC)
- I agree, we need to do a work breakdown of what needs to be done before deprecating compat. Multichill (talk) 19:00, 22 April 2014 (UTC)
- @Ladsgroup, Multichill: how about Manual:Pywikibot/2.0 and subpages? --Ricordisamoa 01:18, 2 May 2014 (UTC)
- As a EN.WP bot editor when I started writing bots I looked at the established python framework for Wikipeida bots. I then tried to figure out what the difference was between compat and rewrite. Looking at the scripts that were available I determined the compat was the better choice. I express my vote against deprecating compat until all compat scripts ported over to rewrite, a migration guide is built, and documentation/examples are sufficient for the entirety of the classes/methods. Hasteur (talk) 00:38, 4 May 2014 (UTC)
- An interesting thing would be *when* you compared both frameworks. core has progressed a lot since the git migration, and I know a lot of scripts were ported over by awesome GCI students. Also, this isn't a vote. Legoktm (talk) 05:40, 4 May 2014 (UTC)
- I updated Project:Pywikibot/2.0/Porting status, (not everything is totally correct though); lets get started on porting the stuff that hasn't been ported yet. Legoktm (talk) 06:52, 4 May 2014 (UTC)
- I propose to declare compat as deprecated because it is already deprecated. More and developers including me are working for core and commits for compat are decreasing:
- It is impossible to keep both branches synchronized on the same level porting and backporting features, classes, methods and scripts from one to the other. I'll port all my scripts from compat to core in the next months (I hope this will be weeks ;) and I am willing to support other people as much as possible to convert their scripts. But I personally will reduce developing compat in future and have core in focus. @xqt 13:34, 20 May 2014 (UTC)