[HN Gopher] Rye: A Vision Continued
       ___________________________________________________________________
        
       Rye: A Vision Continued
        
       Author : ksbrooksjr
       Score  : 125 points
       Date   : 2024-02-04 10:15 UTC (12 hours ago)
        
 (HTM) web link (lucumr.pocoo.org)
 (TXT) w3m dump (lucumr.pocoo.org)
        
       | nindalf wrote:
       | I think it's interesting that rye uses ruff
       | (https://github.com/astral-sh/ruff) for linting and formatting.
       | That's the right call, and it's also correct to bundle that in
       | for an integrated dev experience.
       | 
       | I had to guess, that's the path that the Astral team would take
       | as well - expand ruff's capabilities so it can do everything a
       | Python developer needs. So the vision that Armin is describing
       | here might be achieved by ruff eventually. They'd have an
       | advantage that they're not a single person maintenance team, but
       | the disadvantage of needing to show a return to their investors.
        
         | the_mitsuhiko wrote:
         | I really just want the end result :)
        
       | mikkom wrote:
       | I'm usually using conda (mamba) nowadays as it also has binary
       | support so I can use cuda etc. easily for deep learning purposes.
       | Is this something Rye can also do?
        
         | kamikaz1k wrote:
         | What is binary support?
        
           | mikkom wrote:
           | Direct support for binary packages, for example gpu specific
           | non open source drivers etc
        
           | aldanor wrote:
           | Binary packages compiled for your platform.
           | 
           | More generally, any non-Python packages (e.g. libwhatever, or
           | some binary utilities).
        
         | claytonjy wrote:
         | Doesn't this work pretty well everywhere else now, too?
         | 
         | Torch at least is easy to pip install, as is poetry if you skip
         | all the versions that were mispackaged.
         | 
         | It's unclear to me what the benefit of conda is these days,
         | other than making it much harder to reproduce your environment
         | on other machines.
        
           | imjonse wrote:
           | It allows installing non-python packages too for one, like
           | the CUDA runtime.
        
       | seanhunter wrote:
       | I've been using rye for all of my python projects and it has
       | generally been great. There's a slightly annoying piece at the
       | beginning when you first set up a project because "rye init"
       | doesn't actually produce a valid empty project - you have to add
       | a few lines to pyproject.toml, but it certainly beats a lot of
       | the other things I've used.
        
         | p5v wrote:
         | How does Rye compare to Poetry?
        
           | Narushia wrote:
           | Here's a handy Venn diagram which shows where Rye currently
           | sits in the ecosystem:
           | https://alpopkes.com/posts/python/figures/venn_diagram.png
           | 
           | Poetry and Rye mostly do the same things, but Rye
           | additionally does Python version management. I was personally
           | recently reminded* that not only should one use dedicated
           | environments for their projects, but also lock their specific
           | Python versions.
           | 
           | I've used Rye so far for Python/package/env management, and
           | it does the job just fine.
           | 
           | * (I upgraded from Fedora 38 to Fedora 39, which also bumped
           | the system Python version from 3.11 to 3.12. And all of my
           | virtual environments said _boom_.) : ')
        
             | forrestthewoods wrote:
             | I adamantly believe that software projects should never
             | rely on system dependencies. It's just a totally broken
             | concept and fundamentally bad idea, imho.
        
           | seanhunter wrote:
           | Way faster to do dependency resolution for one. It also uses
           | ruff for linting which is crazy fast also. So all in all it's
           | a better and more productive dev experience as far as I'm
           | concerned. Ig also encourages you to lock down specific
           | versions of python whuch helps prevent catastrophic
           | dependency problems on system upgrades.
           | 
           | Otoh it's definitely newer and there are still rough edges
           | from time to time.
        
       | theusus wrote:
       | Regarding one man project. I always think of contributing back to
       | the community. But things are not at all simple. I wish
       | developers of projects would do weekly knowledge sharing videos.
       | Or at least record themselves going through the code.
        
         | theusus wrote:
         | Also, I keep hitting myself in the wall when installing 3.12
         | Python
        
         | the_mitsuhiko wrote:
         | I have been considering doing that but I wasn't sure if there
         | was appetite.
        
           | theusus wrote:
           | Now, there is at least one stomach ;)
        
           | smitty1e wrote:
           | The sooner python packaging has a sane story, the sooner
           | people will wonder why it took so jolly long.
           | 
           | For those lacking time/skill to contribute, how can we
           | support?
        
             | the_mitsuhiko wrote:
             | > For those lacking time/skill to contribute, how can we
             | support?
             | 
             | Improving documentation, spreading the word, giving
             | feedback. Honestly anything helps.
        
         | simonw wrote:
         | Are you looking for material that helps you understand the
         | process open source developers use to create and maintain their
         | projects?
        
           | elbear wrote:
           | I'm guessing he's talking about project-specific knowledge.
        
       | odiroot wrote:
       | Going for pip-tools, twine, virtualenv and build makes sense. But
       | I wished he went for black instead. Ruff is not there yet.
        
         | _ZeD_ wrote:
         | ruff seems better than black to me
        
         | carso wrote:
         | When did you last evaluate it? I have been using ruff for
         | advent of code (low stakes project) -- last year it still felt
         | a little beta-ish, this year it seemed more ready for prime
         | time.
        
       | edfletcher_t137 wrote:
       | This is an impressive effort, no doubt. And Python packaging is
       | in a woeful state. But I'm sorry, the _last_ thing the ecosystem
       | needs it _another_ alternative!
       | 
       | https://chriswarrick.com/blog/2023/01/15/how-to-improve-pyth...
       | https://xkcd.com/927/
        
         | forrestthewoods wrote:
         | Ask me how I know you didn't read the article.
        
           | edfletcher_t137 wrote:
           | LOL I surely did, it even explicitly says:
           | 
           | "I did not feel well throwing yet another Python packaging
           | tool into the ring.
           | 
           | Yet it exists now and has user. (sic)"
           | 
           | TL;DR: I knew it was a bad idea, but I did it anyway.
           | 
           | But I wouldn't have had to, anyway. Because I know how names
           | work: "Rye" is not in the set of current named tools. Doesn't
           | matter that it wraps them. It becomes one by doing so, and
           | now we have 15.
        
             | forrestthewoods wrote:
             | Your first comment irked me because it adds zero value to
             | the discussion. You lazily threw out XKCD 927 which the Rye
             | author explicitly mentioned themselves.
             | 
             | If you click into their link "Should Rye Exist" [1] you'll
             | see that XKCD 927 is literally the first sentence and full
             | width image.
             | 
             | [1] https://github.com/mitsuhiko/rye/discussions/6
        
       | VagabundoP wrote:
       | I'm about to do a full rewrite/refactor of my flask app and will
       | be starting fresh with Rye. I was using a cobbled together
       | pyenv+virtualenv+bunch of other tools to manage it all, but was
       | spending too much time on environment setup/upkeep when I was not
       | on my main laptop.
       | 
       | Rye is a one stop shop for everything that I need.
        
       | oritsnile wrote:
       | I really like Rye and have used it a lot. Lately I've been using
       | pixi more and more because of its cross-platform locking support,
       | since I develop on Mac and deploy mostly to Linux. It also
       | supports all cobda packages, which can be a big advantage.
        
       | tootie wrote:
       | Not to dig on this project, but I find it constantly befuddling
       | how awful the Python dev ecosystem is. And has barely improved
       | after a decade of being so popular. The ergonomics of coding with
       | Java or C# in 2010 are still so far beyond anything in Python in
       | 2024, I constantly question why it's so popular.
        
       ___________________________________________________________________
       (page generated 2024-02-04 23:00 UTC)