Crate kankyo [] [src]

kankyo

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.

Installation

Add the following dependency to your project's Cargo.toml:

kankyo = "~0.2"

What are .env files?

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:

extern crate kankyo;

use std::fs::File;

kankyo::load_from_reader(&mut File::open("./.env")?)?;

println!("Loaded!");

Due to the common nature of this operation, a function that does precisely this is offered:

extern crate kankyo;

kankyo::load()?;

println!("Loaded!");

Modules

utils

A collection of lower-level functions for parsing .env files, unloading keys, and working with parsed .env lines.

Functions

key

Loads a key from the current environment. This is more or less an alias of std::env::var, but the benefit - slightly - is one less possible use statement.

load

Loads a .env file at the current working directory (./.env).

load_from_reader

Reads the content of a reader and parses it to find .env lines.

snapshot

Creates a snapshot of the present environment variables.

unload

Unloads all environment variables in the default ./.env file from the current environment.

unload_from_reader

Unloads from the read content of the given reader.

Type Definitions

Result

Common result type throughout the library.