Crate envir

Source
Expand description

§envir

Github actions Gitlab CI

A toolbox to deal with your environment.

§Basics

Without feature, this crate provides simple functions to retreive the value of an environment variable:

  • get to retreive as string;
  • parse to directly parse the value as a desired type.

The try_ version of these functions return None if the variable doens’t exist when get and parse return the Error::Missing error.

In addition this crate provide a set function, like std::env::set_var but works for all types implement ToString.

Finally, a collect function to retreive all environment variables in a easy to print collection.

§dotenv

The dotenv feature adds an eponyme function to load .env file.

§logger

The logger feature adds logger configured via environment variables.

§serde

The serde feature adds macro to deserialize struct from env:

use envir::Deserialize;

#[derive(envir::Deserialize)]
struct Config {
}

fn main() -> envir::Result {
    let config: Config = envir::from_env()?;
    // or
    let config = Config::from_env()?;

    Ok(())
}

And serialize to env:

use envir::Serialize;

#[derive(envir::Serialize, Default)]
struct Config {
}

let config = Config::default();
config.export();

The extrapolation feature allows environment variables replacement in the default macro attribute:

#[derive(envir::Deserialize)]
struct Config {
    #[envir(default = "/home/${USER}")]
    home: String,
}

You can read the envir_derive crate documentation for more informations.

Modules§

loggerenv_logger or tracing

Enums§

Error

Traits§

Deserializeserde
Serializeserde

Functions§

collect
Retreives all environment variables as an easy printable form.
dotenvdotenv
Loads the .env files.
fromserde
from_envserde
from_pathdotenv
Loads environment variables from the specified path.
get
Likes try_get but returns a crate::Error::Missing if the variable isn’t set.
init
Loads the .env file and initializes the logger.
parse
Likes try_parse but returns a crate::Error::Missing if the variable isn’t set.
set
Sets the environment variable key to the value.
try_get
Gets the environment variable key. This returns a crate::Error::Unicode if the variable value isn’t valid unicode.
try_init
Attempts to load the .env file and to initialize the logger.
try_parse
Likes try_get but directly parses the variable value in desired T type.

Type Aliases§

Result

Derive Macros§

Deserialize
Serialize