On https://gerrit.wikimedia.org/r/#/c/283940/ , there is a discussion regarding the staleness of the isbn metadata used by pywikibot.
And https://gerrit.wikimedia.org/r/#/c/209176/ has proposed adding a copy of the ISBN metadata to the pywikibot library , so that it can be updated by the core Pywikibot team.
cosmetic changes currently uses external library stdnum.isbn as a result of T89996: Add isbn package dependency, if it is installed, and falls back to using the ISBN implementations in scripts.isbn.
Specifically, the problem identified is that stdnum v 1.0 released 2014-10-19 incorrectly hyphenates some German ISBNs, and some German website fail when given an incorrectly formatted ISBN.
e.g. https://portal.dnb.de/opac.htm?query=978-3-95539-063-1&method=simpleSearch&cqlMode=true is ok
but https://portal.dnb.de/opac.htm?query=978-3-9553906-3-1&method=simpleSearch&cqlMode=true fails.
The known German stale data problem was fixed in v1.1 released 2015-04-27 with an updated dataset.
T85240 was where I first did an analysis of the available libraries.
The following package their data into the release, as a static dataset
https://pypi.python.org/pypi/isbn_hyphenate - https://github.com/TorKlingberg/isbn_hyphenate/commits/master/isbn_hyphenate/isbn_lengthmaps.py
https://pypi.python.org/pypi/isbnid - https://github.com/nekobcn/isbnid/commits/master/data
https://pypi.python.org/pypi/isbnlib - https://github.com/xlcnd/isbnlib/commits/master/isbnlib/_data/data4mask.py
Another package not previously seriously considered is pyisbn, as it is wasnt very actively maintained, and it does not handle hyphenation at all, however they do not for a very good reason. There is an Upstream ticket for adding hyphenation: https://github.com/JNRowe/pyisbn/issues/3 , from 2011. I've added a comment to it now. The primary issue is that while the International ISBN Agency provides machine readable version of their data , they do not provide a license to redistribute the information. They also cite staleness of the data as a problem.
fwiw, it credits include @notconfusing , who has one commit.