Open swainn opened 1 year ago
This sounds like a possible path to having isolated apps in the same portal as well.
I'm planning to give it a try next time I get a chance.
After some more experience with pdm, I think we could use it as a potential unifier between pip and conda builds/distributions:
The pdm-conda developer has been responsive and already implemented a feature that I requested. So I suspect if we need additional functionality to facilitate this use, they would be more than willing to work with us.
Is your feature request related to a problem? Please describe. We are moving toward having official support for a pip installable version of Tethys Platform again, however one challenge we have is that the pip solver is not nearly as rigorous/reliable as the conda solver. I recently discovered pdm, which is an npm-style package managing dependencies and building Python packages. It supports the modern PEP standards (including 517) and multiple build backends (setuptools, flit, hatch(ling)). It also include npm features like lock files and scripts. It also provides hooks at different phases of the project management lifecycle to allow building custom tools (e.g. we could hook into the
pdm add
command to also add the dependency to theinstall.yml
of an app).Describe the solution you'd like We should explore integrating PDM with Tethys Platform, especially the pip-installable version. We may be able to leverage it's features to automate the build and deployment of the package to PyPI.
Describe alternatives you've considered N/A
Additional context https://pdm.fming.dev/latest/