This is great! Thank you for all the hard work.

On Sat, Feb 12, 2022 at 7:34 AM <[email protected]> wrote:

>
> Hi all,
>
> a new stable release Pywikibot 7 will be deployed at the end of this month.
> There are a lot important points with this release, currently implemented
> in
> master branch:
>
>
> Python Plattform:
> -----------------
>
> Pywkibot support of Python 3.5.0 - 3.5.2 will be dropped. The minimum
> plattform
> required is Python 3.5.3 which is preinstalled at toolforge. On the other
> hand
> Pywikibot also works with new Python 3.11.0a and *new* supports PyPy 3.
> Most
> used plattform measured by PyPy download statistic is Python 3.8
> (T266984). For
> developers I highly propose to use Python 3.10 due to "Better error
> messages"
> (https://docs.python.org/3.10/whatsnew/3.10.html#better-error-messages).
>
>
> Framework Scripts:
> ------------------
>
> The both scripts generate_family_file and generate_user_files were moved
> from
> framework root directory to pywikibot/scripts folder. The two scripts
> shell and
> version were moved from scripts folder to pywikibot/scripts. This
> arrangement
> was necessary to implement a code entry point for Pywikibot site-package.
> Possibly you have to change the path environment setting to use these
> scripts.
> But all of them are still available through the pwb.py wrapper script.
>
>
> Linux:
> ------
>
> Scripts hash bang was changed from python to python3. This enables to
> invoke
> scripts without preleading interpreter.
>
>
> PAWS:
> -----
>
> Pywikibot 7 is a stable release and becomes the Pywikibot framework base on
> PAWS.
>
>
> Toolforge:
> ----------
>
> After deployment of Pywikibot 7 this stable release will be available under
> /shared/pywikibot/stable and the current master can be accessed under
> /shared/pywikibot/core. The pwb.py wrapper script can be used at Tooforge
> and the similar script search is functional.
> https://doc.wikimedia.org/pywikibot/master/utilities/index.html#module-pwb
>
>
> MediaWiki:
> ----------
>
> No changes was made for supporting MediaWiki releases. Pywikibot 7 supports
> MediaWiki 1.23-1.37. For current MediaWiki release 1.37 the minimum
> Pywikibot
> version must be 6.6.1. MW 1.19 requires PWB 5 and MW 1.14 requires PWB 4.
> (https://www.mediawiki.org/wiki/Manual:Pywikibot/Compatibility)
>
>
> Pywikibot site-package (PyPi):
> ------------------------------
>
> Installing Pywikibot as a site package (pip install pywikibot==7.0) comes
> with
> many innovations. pywikibot i18n messages bundle is available. Framework
> scripts listed above can be used with Pywikibot 7.The pwb wrapper script
> is the
> code entry point to invoke these scripts:
> pwb [global options] <framework script> [script options|global options]
>
>
>
> Pywikibot Tests:
> ----------------
>
> Pywikibot CI tests were moved from Travis to GitHub action. There are two
> actions implemented. The first runs up tp 20 workers in parallel and does
> the
> most tests whereas the second only runs login/logout tests but there are no
> parallel task which would lead to failures due to not logged-in test
> account.
>
>
> Module Changes:
> ---------------
>
> Support for API:Redirects was added in site and page module.
> User.is_locked()
> and APISite.is_locked() were added to determine whether a given user or
> user id
> is locked globally. The cached output functionality from compat release was
> re-implemented.
>
> families:
> Allow family files reside in `families` folder in base_dir by default.
> This is
> important if Pywikibot is used as a site-package. generate_family_file uses
> this new place to save the family file. Wikihow family file was added.
>
> i18n module:
> bundles() yields message bundle names or Path objects; known_languages()
> gives
> all languages we have localizations for.
>
> page module:
> isStaticRedirect() also considers transcluded __STATICREDIRECT__.
> put() and change_category() now has a show_diff parameter.
> User.is_blocked()
> can also detect range blocks.
>
> proofreadpage:
> Wikimedia OCR engine is supported.
>
> site module:
> APISite.get_globaluserinfo() method was added to retrieve globaluserinfo.
> New "maxlimit" property was added to determine the limits for API loads.
>
> textlib module:
> textlib comes with to_latin_digits() function as counterpart of
> to_local_digits() and case_escape() which gives an escaped regex pattern
> depending on 'first-letter' case.
>
> tools module:
> intersect_generators was rewritten which makes it running up to 10’000
> times
> faster.
>
>
> Scripts Changes:
> ----------------
>
> Scripts descriptions can be viewed at
> https://doc.wikimedia.org/pywikibot/master/scripts/index.html
>
> ConfigParserBot is provided for several scripts. Any option can be set
> within
> scripts.ini file.
>
> https://doc.wikimedia.org/pywikibot/master/api_ref/pywikibot.html#pywikibot.bot.ConfigParserBot
>
> add_text scripts provided -create and -createonly options. A CleanBot was
> added
> in category script which can be invoked by clean action option. It removes
> redundant grandchildren categories. The fixing_redirect script uses
> concurrent.futures to retrieve redirect targets; this decreases processing
> time
> by 90% if solving moved pages is enabled.
>
>
> Deprecations:
> -------------
>
> Most of the deprecated code parts were removed to start with a new proper
> and
> maintainable code without budensome overhead. The deprecations must be
> solved
> if you have your own code based on Pywikibot before you upgrade to the new
> release. Refer https://doc.wikimedia.org/pywikibot/master/changelog.html
> to see
> all changes. Run your scripts and focus on FutureWarnings about deprecated
> code
> parts. Refer the logs for deprecation warnings. Scripts must be run with
> global
> -log option; if your script does not use handle_args() function you can
> invoke
> it with the pwb wrapper script:
> pwb.py -log <yourscript> [your options]
>
>
>
> Thank you all, comments are welcome
>
> xqt
> _______________________________________________
> pywikibot mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
>
_______________________________________________
pywikibot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to