| Documentation | Build Status | JuliaHub |
|---|---|---|
ConfigEnv.jl is an environment configuration package that loads environment variables from a .env file into ENV. This package was inspired by python-dotenv library and the Twelve-Factor App methodology.
It's intended usage is when you have some secrets like database passwords, which shouldn't leak into public space and at the same time you want to have simple and flexible management of such secrets. Another usage possibility is when some library uses environmental variables for configuration and you want to configure them without editing your .bashrc or Windows environment.
ConfigEnv.jl is a registered package, so it can be installed with
julia> using Pkg; Pkg.add("ConfigEnv")or
# switch to pkg mode
julia> ]
v1.6> add ConfigEnvCreate a .env file in your project. You can add environment-specific variables using the rule NAME=VALUE.
For example:
#.env file
USER = foo
PASSWORD = bar
Usually it is a good idea to put this file into your .gitignore file, so secrets wouldn't leak to the public space. After that you can use it in your application
using ConfigEnv
dotenv() # loads environment variables from .envThis way ENV obtains key values pairs you set in your .env file.
julia> ENV["PASSWORD"]
"bar"ConfigEnv.jl provides following features in order to make environment configuration more flexible
- load data from configuration files to
ENVin overwriting and non overwriting mode; - reading data from
StringandIOobjects; - merging data from different configuration files;
- templating variables with an arbitrary templating depth and introspection tools for discovering unresolved templates and circular dependencies.