Comments (9)
An alternative to env.secret
would be to allow any casted value to be secret.
SECRET_BOOL = env.bool('MY_PRECIOUS', secret=True)
print(SECRET_BOOL) # => "*******"
print(SECRET_BOOL.value) # => True
from environs.
Hold on this until encode/starlette#301 is resolved.
from environs.
Excellent work on this lib. Seems that this issue is "resolved" in your PR encode/starlette#303
from environs.
Thanks, I'm aware. I'll have to give this more thought. I think if we add this to environs, we'll go with the .value
approach suggested in encode/starlette#301.
Feedback welcome!
from environs.
Related to this, it would be nice to be able to store encrypted values which would then be automatically decrypted by the library when needed and up to a previously specified master password. Something similar to http://www.jasypt.org/encrypting-configuration.html in Java.
To be identified such values would be surrounded by ENC(...)
for instance. As a rule of thumb passwords should never be checked-in. But with such a mechanism, this is then acceptable.
Currently I am working with a custom parser to handle such cases.
from environs.
Encryption seems outside the scope of environs. environs is used for parsing values that are not checked into source control. If you do need encryption you can do so after parsing, e.g.
PASSWORD = decrypt(env.str('PASSWORD'))
from environs.
Or use a custom parser that handles your specific encryption:
@env.parser_for('encrypted')
def encrypted_value(value):
return decrypt(value)
password = env.encrypted('PASSWORD')
from environs.
A custom parser also works but doesn't allow composition.
from environs.
Closing for lack of interest
from environs.
Related Issues (20)
- path parser rejects Path defaults HOT 1
- `TypeError: _field2method.<locals>.method()` using `environs[django]` HOT 3
- Variables expanding in dotenv files doesn't respect other sources of Env vars HOT 2
- Log values as they are returned HOT 6
- Bringing environments to subprocess HOT 2
- Default values and subcast
- Is TOML support wanted? HOT 1
- All environment variable names and associated values logged on unhandled env attribute error HOT 3
- errors with raise statements and basestring.... not python3 compatable? HOT 2
- fail if specified .env file does not exist HOT 2
- add "smtp+ssl://, smtp+tls://" supports to email_url
- Default values defined in casted types HOT 1
- Inconsistent behavior with `env.list` HOT 1
- Add the ability to create an initial .env file when starting a new project HOT 8
- Support all shell parameter expansion
- read_env() with a different file instead of `.env` doesn't work HOT 3
- Update documentation for env.url() to show how to add non-default URLs
- Cannot validate URLs missing the user field component HOT 1
- Incomplete Typing on Env methods HOT 1
- Handle marshmallow DeprecationWarning HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from environs.