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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add a Secret class to handle secrets in code instead of using plain str. This
approach offers several advantages:
It encourages loading secrets from environment variables, and discourages programmers
from hardcoding secrets in source code.
Avoids accidental exposure of secrets in logs or error messages, by overriding str and repr.
It causes exception if someone tries to JSON encode it using the built-in JSON
module, unlike str.
For convenience, it can be compared directly to strings. It uses constant-time
comparison to prevent timing attacks, with the built-in secrets.compare_digest.
Environment variables can be changed at runtime, using this class applications can
pick up secret changes without needing to be restarted.
Add an EnvironmentVariableNotFound exception that can be used when an expected env
variable is not set.
Handle timedelta objects in the FriendlyEncoder class, by @arthurbrenno.
Improve the order of if statements in the FriendlyEncoder class to prioritize the
most frequently encountered types first, which should provide better performance in
typical use cases.