ionelmc / python-lazy-object-proxy

A fast and thorough lazy object proxy.
BSD 2-Clause "Simplified" License
247 stars 36 forks source link

setuptools_scm 6.0+? #54

Closed limburgher closed 2 years ago

limburgher commented 3 years ago

Fedora rawhide just got setuptools_scm 6.0.1. What plans do you have to test and update this pin?

ionelmc commented 3 years ago

There isn't any pin. We only have upper/lower constraints to avoid problematic situations (buggy old version, 6.0 failing to run on 2.7, or the tooling failing to see that 6.0 is unrunnable on 2.7).

limburgher commented 3 years ago

Sorry, I meant constraint. :) But 2.x is EOL; I recognize that there's still 2.x code in the wild, but is there a way to allow >6.0 on 3.x?

ionelmc commented 3 years ago

Perhaps environment markers could be used. I guess I could try to figure something out but why do you need 6.0 anyway? You want to publish the new LOP release in Fedora I guess? Adding a local patch for the setuptools-scm dep not really doable in Fedora?

ionelmc commented 3 years ago

Ermm... maybe I wasn't clear: <6.0 is there just for 2.7, on py3 you can use it without problem.

limburgher commented 3 years ago

I actually just shipped the latest LOP, and yesterday our setuptools-scm got updated to 6.0.1, and it broke the LOP build. https://kojipkgs.fedoraproject.org/work/tasks/4361/64504361/build.log

ionelmc commented 3 years ago

Mkay, so local patch unacceptable? Not sure what to make out of that traceback.

limburgher commented 3 years ago

A local patch is fine, I just want to avoid it if I can. Looking at setup.cfg, I don't see where there's logic to relax the constraint for 3.x,

ionelmc commented 3 years ago

You'd need to patch pyproject.toml and setup.py.

limburgher commented 3 years ago

Ok, I'll do that for now.

zerothi commented 3 years ago

I am also experiencing this problem when doing pip install on my py3 box. I have setuptools_scm 6.3.2, and so cannot install this package, at all... :(

Which work-around is there for pip-installers?

ionelmc commented 2 years ago

Ok fine, I'll cut a new release and remove the upper constraint.

ionelmc commented 2 years ago

Actually, would it work if I only remove it from pyproject.toml?

zerothi commented 2 years ago

What about just doing !=6.0?

ionelmc commented 2 years ago

The problem was that 6.0 and following dropped python 2.7 support and that broke some installs with python 2.7 broken tools. It was a workaround, we can remove it and let womever is stuck on 2.7 use the older lazy-proxy release.

zerothi commented 2 years ago

Ok, I see this also puts this constraint on the py3 env... :( hmm...

So I think that pep 508 solves this: It should be:

setuptools_scm>=3.3.1,<6.0 ; python_version <= '2.7'
setuptools_scm>=3.3.1 ; python_version >= '3.5'
zerothi commented 2 years ago

If py2.7 supports this... ? I can't seem to figure out which pip version supports this notation.

ionelmc commented 2 years ago

Seem overkill, just to support dead python when there's an older release installing as expected there.

I'm just waiting on travis to kick these CI builds again now...

zerothi commented 2 years ago

Ok, I completely agree. It wast just if you wanted backwards compatibility. :)

ionelmc commented 2 years ago

Fixed in the new 1.7 release.