before cosmetic changes script can be moved to the pywikibot library, its dependency on the isbn script needs to be decoupled.
|pywikibot/core : master||Remove cosmetic changes dependency on isbn script|
|Resolved||jayvdb||T76320 Page save uses cosmetic changes script|
|Open||None||T60942 Features to move from scripts to framework (tracking)|
|Resolved||Ladsgroup||T76324 Migrate cosmetic_changes to the core library|
|Resolved||jayvdb||T89993 remove isbn script dependency in cosmetic_changes|
|Resolved||jayvdb||T89996 Add isbn package dependency|
|Resolved||Xqt||T89998 cosmetic changes has no tests|
We do not need all of the deprecated stuff from isbn.py . We need to pick one of the isbn libraries added in T85240, which will become a formal dependency in setup.py and requirements.txt , and possible copy the wrapper around it from isbn.py into the pywikibot library.
Are any of the ISBN libraries already available / in use on Toolforge ?
Deprecated stuff should be removed honestly. so I suggest that at first make stdnum a required dependency and then remove all of unneeded stuff from scripts/isbn.py and them move it to the pywikibot directory
Well, it isnt even @deprecated yet. It is easy to leave it where it is, deprecate it, and remove it after pywikibot is released onto pypi and we can start work on a new version of pywikibot.
I am not seeing anything in isbn.py that would be desirable in the pywikibot library. When we pick an isbn library and make it a dependency, cosmetic changes can use that library directly, or if we want to support multiple isbn libraries we can create a much neater wrapper in pywikibot.tools.isbn .
It's not @deprecated because it's not a part of the pywikibot library and except cosmetic_changes no script uses it (specially the internal methods) and I highly doubt that people are using these methods in their self-written codes (again since it's not a part of the library yet) so I think this step is unnecessary.