Consider using a modern package management tool
I've been using Herbie for quite some time (and it's been great :100: ), and it would be great if the project adopted a dependency management tool to optimize the development experience.
I've been using Poetry as a dependency and package management tool for some time now:
- https://github.com/python-poetry/poetry
- https://python-poetry.org/docs/
In my experience, Poetry greatly simplifies the package management process and dependency resolution with a user-friendly experience. It can be used alongside Conda, with Conda serving as the environment manager and Poetry as the package manager and sole dependency management tool, except for packages that require Conda (e.g., wgrib2, eccodes, etc.).
Additionally, there is Hatch, which I haven't used but have heard good things about.
There is also Pixi, which offers the combined features of Conda and Poetry.
Thanks for the suggestion. I have been meaning to learn about Poetry and Hatch. Herbie's packaging is just what I learned copying from other projects, but I'm willing to learn something new if there are some clear benefits. I can't promise I'll get around to this soon, but I am open to the idea.
https://pdm-project.org/en/latest/
Also, someone's opinion: https://www.stuartellis.name/articles/python-modern-practices/#avoid-using-poetry
Note to self...I'm leaning toward using hatch: https://hatch.pypa.io/latest/
I'm trying it in SynopticPy https://github.com/blaylockbk/SynopticPy/tree/56-rewrite-using-polars
Other reference: https://www.pyopensci.org/python-package-guide/package-structure-code/python-package-build-tools.html
Haha, now I want to try pixi (because it supports conda packages, which Herbie requires for reading grib2 files) https://prefix.dev/