Skip to content

Manage dependencies

Tobias Meisel requested to merge toml into main
  • The library should allow the widest range possible of dependencies
    • It is the user's responsibility to have a stable environment
      • virtual-env (create requirements.txt before pip --upgrade) and pip
      • conda
        • do not use conda with global python !
      • container
  • Should requirements.txt be part of OGSTools:
    • multiple dimensions:
      • per python version (minor release - different)
      • per extra or set of extras (all extras for ogstools-developer, no extras for users)

For OGS development

  • too much dependencies in toolchain (example: Snakemake
    • Reduce dependencies
    • More stable environments
      • pip, conda, guix
      • pinned dependencies
    • OGS_USE_PIP, OGS_USE_CONDA
    • OGS_USE_PIP={USER,DEV,CI}
      • different requirements

For OGSTools development

For OGSTools user

  • How to create a stable environment
    • User is here: CI, project, ..
    • 1. create virtual env / conda env
    • 2. pip install ogstools and other libraries / conda install ogstools
      • As OGSTools dev:
    • 3. run tests, check docs, ...
    • 4. create requirements.txtpip freeze -l or conda list --export
    • 5. restore via pip install -r requirements.txt if necessary or create different environments
      • environments with pip can break with system-update
Edited by Tobias Meisel

Merge request reports