kankyo is a crate for the loading and unloading of
.env files or other
readers into and from the environment.
This crate is meant to be a more modular and efficient, yet concise collection of functions exposed for any custom requirement. Due to its design, it is applicable in both synchronous and asynchronous applications.
This library requires at least Rust 1.0.0.
Add the following dependency to your project's
kankyo = "0.3"
Environment variable files, often named
.env, are files usually located at
the project root. The contents of the file are
= (equals sign)-delimited
lines of key-value pairs. A sample file might look like:
DEBUG=info DB_HOST=127.0.0.1 # This is a comment, not parsed as part of the value. # Empty lines are ignored, as are lines solely consisting of a comment.
The library works with interfacing over readers (types implementing the
std::io::Read trait), meaning that you can pass slices of bytes, strings,
files, etc. to it.
For example, opening a file and parsing its contents into the environment, overwriting existing variables:
extern crate kankyo; use std::fs::File; let mut file = try!(File::open("./.env")); try!(kankyo::load_from_reader(&mut file, true)); println!("Loaded!");
Due to the common nature of this operation, a function that does precisely this is offered:
extern crate kankyo; try!(kankyo::init()); println!("Loaded!");
A collection of lower-level functions for parsing .env files, unloading keys, and working with parsed .env lines.
Loads a key from the current environment. This is more or less an alias of
Reads the content of a file at a given path to find
Reads the content of a reader and parses it to find
Creates a snapshot of the present environment variables.
Unloads all environment variables in the default
Unloads from the read content of the given path.
Unloads from the read content of the given reader.