Draft: Declare project deps in a conda environment file.

Gmodena requested to merge T303839-support-conda-dist into main

This mr closes https://phabricator.wikimedia.org/T303839

This change streamlines dependency management and adds support to conda environment files.

The new project template has changed as follows:

  1. A new conda-environment.yml` is introduce, which contains run time environment deps.
  2. Test dependencies have moved to tox.ini.
  3. requirements.txt and requirements-test.txt have been removed.

Sample projects have been updated to match these dependencies.

@mfossati @cparle this MR pays off technical debt, but I would not say it's a requirement/blocker for you project. We can look at implementing these changes once your project has been merged in main. What do you think?

conda-dist

While the API is forward compatible with conda-dist, the environment is still packaged with a bash one liner in Makefile. While trying out conda-dist, I keep stumbling upon these errors (triggered by conda-pack).

CondaPackError:
Files managed by conda were found to have been deleted/overwritten in the
following packages:
- ncurses 6.3:
  share/terminfo/2/2621A
  share/terminfo/E/Eterm
  share/terminfo/E/Eterm-color
  + 1054 others

As reported in repos/research/knowledge-gaps!4 (merged), I was unable to replicate the errors consistently. I wonder if passing --ignore-missing-files could be a viable work around (see https://github.com/conda/conda-pack/issues/98).

Edited by Gmodena

Merge request reports