Skip to content

Use an alternative Python environment management tool #510

Description

@justb4

Is your feature request related to a problem? Please describe.
The current package installation and deployment is a mix of pypi packages/wheels, plus custom installs, like Proj. The Dockerfile reflects this as well: a mix of Python Debian packages via "Apt" and "Pip". This makes deployment non-uniform and fragile. Also modern package managers can be much more performant. Also currently only single binary versions can be installed (systemwide). No possibility for "Environments" including binaries other than "Venv" (Python-only).

Describe the solution you'd like
These days there are a range of new Python environment management tools. See an overview in this article:
https://www.nijho.lt/post/python-environments/ . Out of these for GHC those which also handle "non-Python-dependencies" are the most optimal. These use the "Conda-forge" channel.
Candidates are, "from the Conda family": Mamba/Micromamba etc. Pixi https://pixi.prefix.dev/latest/ looks like the most optimal solution, as it builds on Conda and Uv.

Describe alternatives you've considered
See above.

Additional context
This article also shows how to use Pixi in a container (Docker) deployment environment:
https://codecookcash.substack.com/p/simplifying-dependency-management

Metadata

Metadata

Assignees

Fields

No fields configured for Feature.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions