datajoint-python
datajoint-python copied to clipboard
dj config management
Feature Request
Problem
The current heirarchy of DJ* variables, global config, local config matches configuration idioms for many systems and works well for statically configured environments or single pipelines, but can become cumbersome when working in multiple envirionments (e.g. separate databases for dev, test, bugfix, production, etc). It would be nice to have a more robust means of managing datajoint configurations as can be found in other 'multi system' tools like SSH, AWS, kubectl, etc, if even an overriding configuration variable e.g. DJ_CONFIG instead of more complicated coding.
Requirements
very open ended - thinking the main thing is being able to quickly switch between environments with one command could be as simple as a DJ_CONFIG global or something more complex/full featured like a configuration manager plugin, etc.
Justification
see above
Alternative Considerations
might make sense to provide this as a 'fat' TUI if UI concerns are viewed as orthogonal to dj-core (e.g. python vs ipython, etc) see also #940