You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 pydantic to 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.
Activity
github-actions commentedon Oct 3, 2025
This issue is stale because it has been open for 45 days with no activity.
dimitri-yatsenko commentedon Jan 9, 2026
Implemented in DataJoint 2.0
Configuration management has been modernized with Pydantic:
Features implemented:
.secrets/datajoint.jsonfor credentials (gitignored)DJ_HOST,DJ_USER,DJ_PASS, etc. with highest precedencedj.config.override()for temporary settingsdj.config.save_template()creates starter configConfiguration files:
Precedence (highest to lowest):
.secrets/datajoint.jsondatajoint.jsonSee
src/datajoint/settings.pyfor implementation.