Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistencies of the conda configuration system #12355

Open
2 tasks done
Tracked by #12463
jaimergp opened this issue Feb 14, 2023 · 0 comments
Open
2 tasks done
Tracked by #12463

Inconsistencies of the conda configuration system #12355

jaimergp opened this issue Feb 14, 2023 · 0 comments
Labels
epic a highlevel collection of smaller related issues plugins::config pertains to conda-config source::contributor created by a frequent contributor source::partner created by or for an Anaconda, Inc. partner company

Comments

@jaimergp
Copy link
Contributor

jaimergp commented Feb 14, 2023

Checklist

  • I added a descriptive title
  • I searched open reports and couldn't find a duplicate

Summary

There are a number of inconsistencies and/or surprising behavior in the conda configuration system. Part of it comes from the homemade Configuration object, plus the singleton pattern, plus the kitchen-sink approach to store many convenience variables and state in the conda.base.context.context object.

There are also many sources of the configuration values:

  • Hardcoded defaults in the Python modules
  • Several .condarc / condarc.d/* files, at the system, user and environment level
  • Auto-generated CONDA_* environment variables (but no warning if they are mispelled)

On top of this we have:

  • Surprising merging rules like extended lists and updated dictionaries instead of overrides.
  • Lacking documentation
  • Intricate conda config implementation with way too many flags but a simplistic implementation with some undefined behaviours.
  • No schema! The tooling ecosystem might add their own data to the config files, and conda will ignore it, or silently delete it or who knows what.

The cherry on top is that at some point this will have to be made extensible to accommodate the plugin system in some sane way...

Linked Issues & PRs

Environment specific configuration

Channels

$CONDARC and .condarc search paths

Other bugs

Other feature requests

Documentation

The conda configuration documentation is particularly intricate. There are three pages, each with overlapping but different content. In particular, the "reference" (as per the Diátaxis framework) should be better separated.

More issues / PRs:

@jaimergp jaimergp added epic a highlevel collection of smaller related issues plugins::config pertains to conda-config labels Feb 14, 2023
@beeankha beeankha added source::contributor created by a frequent contributor source::partner created by or for an Anaconda, Inc. partner company labels Feb 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic a highlevel collection of smaller related issues plugins::config pertains to conda-config source::contributor created by a frequent contributor source::partner created by or for an Anaconda, Inc. partner company
Projects
Status: 🧞 Wishlist
Development

No branches or pull requests

2 participants