datajoint-python
datajoint-python copied to clipboard
IMPR: Modernize Project Configuration Management
Improvement Request
Problem
The current configuration system is nonstandard and lacks common features such as validation. Secrets and regular settings are managed jointly, which is not a best practice.
Requirements
- Load settings hieararchically from project specific locations (. and up), user specific, and system wide.
- Use
pydanticto strictly validate all loaded settings against a predefined schema on startup, providing clear errors for any misconfiguration. - Supports secure management of sensitive data through a
.gitignore'd secrets file and environment variables. - Ensure that environment variables have highest precedence, overriding configuration files
- Clearly documented, explaining loading order, file structure, and validation rules.
This issue is stale because it has been open for 45 days with no activity.