Should not Depends on python3 (<< 3.7)
In setup py we have 'rdflib<6.0.0;python_version<"3.7"', which add in Debian
python3-rdflib | python3 (<< 3.7)
and thus make extruct not installable because the python version is 3.11
@marillat could you please clarify the issue, is this debian-specific? Also do you believe it's the packaging problem, or an issue with this repo? I tried installing in a fresh python 3.11 virtualenv and got rdflib-6.2.0 installed which is correct.
A problem with the repo. Of course you can install rdflib without problem, but you don't need to depends on a specific python version for rdflib or rdflib-jsonld The dependency on a specific python version should be done by rdflib and rdflib-jsonld package.
Thanks for more details @marillat , sorry that I'm still not quite able to understand the issue. Could you detail how to reproduce the problem? Regarding the fix, as I understand an easy option of the fix would be to remove support of Python 3.7 which is EOL on 27 Jun 2023, and then we can remove all of that conditional stuff, would that fix the issue you are observing? I don't think we can remove that conditionals while maintaining support for older pythons, because we can't make changes to already released versions of rdflib or rdflib-jsonld.
This doesn't remove support for python 3.7 but remove the python_version<"3.7 which produce in Debian
Depends: python3-html-text, python3-jstyleson, python3-lxml, python3-mf2py, python3-pyrdfa, python3-rdflib | python3 (<< 3.7), python3-rdflib | python3 (>> 3.7), python3-rdflib-jsonld | python3 (>> 3.7), python3-six, python3-w3lib, python3:any and thus make python >> 3.7 (3.8, 3.9, 3.10, 3.11, etc) uninstallable.
See https://packages.debian.org/sid/python3-extruct
@marillat sorry I don't understand which exact change you are suggesting as formatting looks to be broken in the comment. As I understand, the problem is that when packaged in debian, the conditional dependency syntax is being interpreted differently compared to how it's interpreted by pip and setuptools. I'm fine with either changing the sytax so that it works for debian and setup.py (but I won't know how to change that myself), or with dropping the conditionals along with python 3.7 support which we'll do anyways soon.
Debian package are done with setuptools, but I already patched setup.py in the Debian package so isn't a problem.
I did this bug report for other people.
Also in noticed that you have set .github/workflows to support python 3.10 and 3.11 but in setup.py is still at 3.9