Logs for #nikola for 2024-01-10

12:19:34 <omwb> Ah, interesting! Locally: Tests passed. Then I did ` pip install -U -r requirements.txt -r requirements-tests.txt -r requirements-extras.txt`. Then, the tests failed. I'm on it...
12:27:19 <omwb> That was easy... The lxml dependency previously was 4.9.3 and now is 5.1.0, and the version 5 apparently is no longer compatible to its prior self. Which is, of course, completely in line with semantic versioning.
12:36:54 <KwBot> [nikola] aknrdureegaesr opened issue #3732: Nikola no longer compatible with lxml https://github.com/getnikola/nikola/issues/3732
12:36:54 <KwBot> [nikola] aknrdureegaesr opened issue #3732: Nikola no longer compatible with lxml https://github.com/getnikola/nikola/issues/3732
12:36:54 <KwBot> [nikola] aknrdureegaesr opened issue #3732: Nikola no longer compatible with lxml https://github.com/getnikola/nikola/issues/3732
12:36:54 <KwBot> [nikola] aknrdureegaesr opened issue #3732: Nikola no longer compatible with lxml https://github.com/getnikola/nikola/issues/3732
12:36:54 <KwBot> [nikola] aknrdureegaesr opened issue #3732: Nikola no longer compatible with lxml https://github.com/getnikola/nikola/issues/3732
12:36:54 <KwBot> [nikola] aknrdureegaesr opened issue #3732: Nikola no longer compatible with lxml https://github.com/getnikola/nikola/issues/3732
13:10:19 <KwBot> [nikola] aknrdureegaesr opened pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
13:10:19 <KwBot> [nikola] aknrdureegaesr opened pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
13:10:19 <KwBot> [nikola] aknrdureegaesr opened pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
13:10:19 <KwBot> [nikola] aknrdureegaesr opened pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
13:10:19 <KwBot> [nikola] aknrdureegaesr opened pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
13:10:19 <KwBot> [nikola] aknrdureegaesr opened pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
16:08:32 <omwb> felixfontein: FWIW: The oldest version of lxml I was able to install on my Debian oldstable with Python 3.9 is `pip install lxml==4.5.2`. 4.5.1 does not install. I also could not find any 3.x.y that installed.
16:15:48 <omwb> I now have a venv with a cocktail of packages that fulfills all requirements from requirements.txt, requirements-extra.txt, and requirements-tests.txt. I systematically used the oldest versions of all requirements I could find. I was suspicious this would not work, and indeed, it did not. Running pytest fails.
16:16:04 <omwb> s/find/install/
16:17:23 <omwb> I think the tests run against a bug in the 2019 version of pytest.
16:24:12 <omwb> I updated the version of pytest from 4.1.0 to 4.6.11. This doesn't have that bug any more. So the tests even start. Then they fail, but this now is a problem with Nikola code. This is the kind of problem I was expecting to see.
16:24:31 <omwb> Nikola code now uses some functionality of pyments.formatters in nikola/utils.py, line 1708, that did not exist in version of pygments Nikola requires: AttributeError: module 'pygments.formatters' has no attribute '_formatter_cache'
16:32:19 <omwb> In requirements.txt, Nikola says "Pygments>=1.6". I have indeed installed that version 1.6 (from February 3, 2013). The line in requirements.txt was added with git commit eab48d80dd 2014-07-17. Lines that use pygments.formatters._formatter_cache were added 2020-03-19 (git 7b792fe035) and again 2022-04-24 (7e2fd4f6c1). At that time, and since that time, possibly nobody checked whether Pygments>=1.6 is still good enough. (Until I had that 
16:32:19 <omwb> idea today.)
16:32:59 <omwb> This is nothing Pygments - specific. I expect many more such problems with Nikola dependencies, that are officially required in ancient versions, versions which are not good enough any more.
16:34:18 <omwb> In short: I think the Nikola dependency management as it stands now is rather broken. I would like to discuss with you how to improve this.
16:59:17 <KwBot> [nikola] aknrdureegaesr opened issue #3734: Dependency management (file requirements.txt and friends) is far too lenient: Too old versions and incompatible new versions. https://github.com/getnikola/nikola/issues/3734
16:59:17 <KwBot> [nikola] aknrdureegaesr opened issue #3734: Dependency management (file requirements.txt and friends) is far too lenient: Too old versions and incompatible new versions. https://github.com/getnikola/nikola/issues/3734
16:59:17 <KwBot> [nikola] aknrdureegaesr opened issue #3734: Dependency management (file requirements.txt and friends) is far too lenient: Too old versions and incompatible new versions. https://github.com/getnikola/nikola/issues/3734
16:59:17 <KwBot> [nikola] aknrdureegaesr opened issue #3734: Dependency management (file requirements.txt and friends) is far too lenient: Too old versions and incompatible new versions. https://github.com/getnikola/nikola/issues/3734
16:59:17 <KwBot> [nikola] aknrdureegaesr opened issue #3734: Dependency management (file requirements.txt and friends) is far too lenient: Too old versions and incompatible new versions. https://github.com/getnikola/nikola/issues/3734
16:59:17 <KwBot> [nikola] aknrdureegaesr opened issue #3734: Dependency management (file requirements.txt and friends) is far too lenient: Too old versions and incompatible new versions. https://github.com/getnikola/nikola/issues/3734
17:01:25 <omwb> If you want to experiment yourself, I have made available a requirements.txt file as https://github.com/getnikola/nikola/files/13890605/requirements-also_doesntwork.txt in the bug I just opened. We can now also choose whether to discuss here or in that bug - not sure what you folks prefer.
17:33:23 <KwBot> [nikola] Kwpolska opened pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
17:33:23 <KwBot> [nikola] Kwpolska opened pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
17:33:23 <KwBot> [nikola] Kwpolska opened pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
17:33:23 <KwBot> [nikola] Kwpolska opened pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
17:33:23 <KwBot> [nikola] Kwpolska opened pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
17:33:23 <KwBot> [nikola] Kwpolska opened pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
18:31:02 <KwBot> [nikola] Kwpolska closed pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
18:31:02 <KwBot> [nikola] Kwpolska closed pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
18:31:02 <KwBot> [nikola] Kwpolska closed pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
18:31:02 <KwBot> [nikola] Kwpolska closed pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
18:31:02 <KwBot> [nikola] Kwpolska closed pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
18:31:02 <KwBot> [nikola] Kwpolska closed pull request #3735 (getnikola:lxml-5.1.0): Fix #3732 — work around lxml 5.1.0 bug https://github.com/getnikola/nikola/pull/3735
18:31:04 <KwBot> [nikola] Kwpolska closed issue #3732: Nikola is not compatible with lxml 5.1.0 https://github.com/getnikola/nikola/issues/3732
18:31:04 <KwBot> [nikola] Kwpolska closed issue #3732: Nikola is not compatible with lxml 5.1.0 https://github.com/getnikola/nikola/issues/3732
18:31:04 <KwBot> [nikola] Kwpolska closed issue #3732: Nikola is not compatible with lxml 5.1.0 https://github.com/getnikola/nikola/issues/3732
18:31:04 <KwBot> [nikola] Kwpolska closed issue #3732: Nikola is not compatible with lxml 5.1.0 https://github.com/getnikola/nikola/issues/3732
18:31:04 <KwBot> [nikola] Kwpolska closed issue #3732: Nikola is not compatible with lxml 5.1.0 https://github.com/getnikola/nikola/issues/3732
18:31:04 <KwBot> [nikola] Kwpolska closed issue #3732: Nikola is not compatible with lxml 5.1.0 https://github.com/getnikola/nikola/issues/3732
18:31:51 <KwBot> [nikola] Kwpolska closed pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
18:31:51 <KwBot> [nikola] Kwpolska closed pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
18:31:51 <KwBot> [nikola] Kwpolska closed pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
18:31:51 <KwBot> [nikola] Kwpolska closed pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
18:31:51 <KwBot> [nikola] Kwpolska closed pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733
18:31:51 <KwBot> [nikola] Kwpolska closed pull request #3733 (aknrdureegaesr:lxml_major_version_update_provisorical_fix): Obvious (provisorical) fix to lxml dependency incompatibility problem. https://github.com/getnikola/nikola/pull/3733