droserasprout / cattrs-extras

Advanced converters for cattrs
MIT License
4 stars 0 forks source link

Dependencies for Python 3.7 on Debian 10 Buster #12

Open BrendanSimon opened 2 years ago

BrendanSimon commented 2 years ago

I am using a Debian 10 Buster system (on an ARM embedded system), which has Python 3.7 installed.

I am also using attrs and cattrs from PyPi.

$ pip3 freeze | grep attr
attrs==22.1.0
cattrs==22.1.0

When I install cattrs-extras, version 0.1.1 is installed instead of the latest 0.2.0. I presume that's due to the Python 3.8 dependency for 0.2.0. Correct?

That in turn causes my cattrs to be downgraded to 1.10.0 !!

$ pip freeze | grep attr
attrs==22.1.0
cattrs==1.10.0
cattrs-extras==0.1.1

According to PyPi, cattrs-extras requires cattrs<2.0.0, but cattrs has moved to the CalVer version numbering scheme, which is now at 22.1.0

https://libraries.io/pypi/cattrs-extras

Is there a problem with the dependencies for cattrs ?

droserasprout commented 2 years ago

When I install cattrs-extras, version 0.1.1 is installed instead of the latest 0.2.0. I presume that's due to the Python 3.8 dependency for 0.2.0. Correct?

Exactly. I decided to drop 3.7 support since it's close to EOL and missing lots of cool language features. I'll check if 0.2.0 has everything ok with dependencies tho.

BrendanSimon commented 2 years ago

Hmmm, not my decision, but 10 months until EOL is not really that "close". It will live on years after EOL (at least in major distributions).

Don't get me wrong. I am a big fan of using the latest and greatest. I wish Python 3.11 was here now - though it's not far off 😉

However, some older code bases still need to be maintained. Would you believe I'm actually in the process of migrating a Python 2.7 code base to Python 3.7 🤣 It's a big step. I wish I could go straight to Python 3.11 (Debian 12 Bookworm - not released) or Python 3.9 (Debian 11 Bullseye).

Anyway, it is what it is, and it looks like using updated cattrs (from what I was initially using with Python 2.7) is behaving nicely that I might not need the magic code I borrowed from Stack Overflow, which was a minimal port of the cattrs-extras Converter class to Python 2.7.

Cheers 😄