Rye: workflow tool and python manager

No built-in commands like lock yet but this is actually completely supported by this plugin: GitHub - juftin/hatch-pip-compile: hatch plugin to use pip-compile to manage project dependencies and lockfiles

It uses pip-tools under the hood and uses different files based on one’s platform which makes it nice for contributors. I was going to implement some interim solution until lock files are standardized but this plugin is so good that there was no need for me to do so. Perhaps I should advertise it better?

Yeah Hatch has done this since December, speaking to Jean’s point. I don’t mind many tools in this space currently as I’m just heads down working on Hatch in my free time and partially at work. As Jean said I am trying to make it support all use cases and thus become the One True Tool :tm: and nothing is really going to stop my work on that!

I will admit I am a bit surprised that you are unaware of the feature set of Hatch though. Is there a reason you’re not looking at what other tools are doing/assessing the landscape? If you have observed others saying somewhat similar things then perhaps I need to improve documentation?

If it’s the former case then that makes sense since you do make it pretty explicit that it’s a personal project. Additionally, it makes even more sense to me in particular because I love Rust and so I know you must be having fun with an excuse to program in that :smile:

edit: Oh I just downloaded Rye so that I might try for myself in case the docs are inaccurate and I can confirm that there are two things that Hatch does not and will never do:

  1. python shims - Hatch does not act like pyenv and only will ever add Python installations to your PATH if requested. Hatch will never have the concept of shims and such feature requests will be instantly closed. I should put that in the contributing docs…
  2. special behavior with symbolic links - I’m a Windows user and have been forever because historically the best assistive technology has only been supported on Windows (I used to be sad about that but no longer because it’s literally the best developer OS now!). I agree with what Steve said, you simply cannot ever assume support for that and, in my opinion, I will not implement features of marginal impact for a subset of users to the exclusion of others.