gauge-sh / tach

A Python tool to enforce dependencies, using modular architecture 🌎 Open source 🐍 Installable via pip πŸ”§ Able to be adopted incrementally - ⚑ Implemented with no runtime impact ♾️ Interoperable with your existing systems πŸ¦€ Written in rust
https://gauge.sh
MIT License
953 stars 33 forks source link

Python 3.7 support #167

Closed R-Peleg closed 1 month ago

R-Peleg commented 1 month ago

I'd like to use this project in my Python 3.7 project. Is it something you consider supporting? What is preventing it

I don't mind to do some work to make it happen if it can be accepted into the project.

emdoyle commented 1 month ago

We would be happy to support Python 3.7! I think our CI is passing on 3.7, but the issue might be that we don't build and distribute wheels with the Rust extension for 3.7, so users need a full Rust toolchain to build and install it.

I think @clin1234 might have been planning to look at adding 3.7 and 3.13 to our publish action, but I should also be able to take a look later today!

clin1234 commented 1 month ago

Considering that 3.7 is out of support upstream, maybe not. Still looking how to add 3.13 and no-GIL builds for publishing

emdoyle commented 1 month ago

I'd like to use this project in my Python 3.7 project. Is it something you consider supporting? What is preventing it

I don't mind to do some work to make it happen if it can be accepted into the project.

I looked into this, and we would lose access to a couple nice things. More specifically:

I don't think it is worth the tradeoff given (like @clin1234 mentioned) Python 3.7 is no longer supported.

If you find a way to support the same type hinting syntax, and a low-complexity way to support uv in local development when available, this could be accepted, but it doesn't seem trivial. Are you planning to upgrade past 3.7 at some point @R-Peleg ? And is this for a personal project or on a team?

R-Peleg commented 1 month ago

This project is a part of a team. We plan to upgrade its Python version, but it will take time due to large codebase and I want to explore the option to add the support here before that.

emdoyle commented 1 month ago

With #183, Python 3.7 should be supported. It may take a bit of time before it's ready to merge, and depending on whether it causes more issues down the line we may have to pull support, but we should have a published version of Tach that is compatible with 3.7 soon.