-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Right now the current version of galaxykit requires passing credentials and server URL as argument.
As a user I want to provide my settings in settings file following something like the XDG based spec
Examples:
when running $ galaxykit at the time of instantiation of a new GalaxyClient it will look for the existence of the following configuration files, in the exact order.
./galaxykit.cfg # current working directory or $XDG_RUNTIME_DIR
~/home/user/.galaxykit.cfg # $HOME/.file.cfg
~/home/user/.config/galaxykit.cfg # $XDG_CONFIG_HOME/file.cfg
~/home/user/.config/galaxykit/config.cfg # $XDG_CONFIG_HOME/dir/file.cfg
/etc/galaxykit/config.cfg On the open desktop spec those directories are defined by $HOME and $XDG_CONFIG_HOME and it is a common pattern to follow it.
It will load data from multiple files, but don't override existing values.
Any of the config keys can be overwritten by export GALAXYKIT_ prefixed environment variable.
proposals
- Implement the XDG file lookup internally to keep the low dependency design recommended
- Use python-xdg lib
- Use a settings library such as dynaconf or pydantic
- reuse ansible.cfg (is that an option?)
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request