A well-maintained fork of the dotenv crate.
This crate is the suggested alternative for dotenv in security advisory RUSTSEC-2021-0141.
This library loads environment variables from a .env file. This is convenient for dev environments.
dotenvycrate - A well-maintained fork of thedotenvcrate.dotenvy_macrocrate - A macro for compile time dotenv inspection. This is a fork ofdotenv_codegen.dotenvyCLI tool for running a command using the environment from a .env file (currently Unix only)
use dotenvy::dotenv;
use std::env;
fn main() {
// load environment variables from .env file
dotenv().expect(".env file not found");
for (key, value) in env::vars() {
println!("{key}: {value}");
}
}The dotenv! macro provided by dotenvy_macro crate can be used.
Currently: 1.56.1
We aim to support the latest 8 rustc versions - approximately 1 year. Increasing MSRV is not considered a semver-breaking change.
The original dotenv crate has not been updated since June 26, 2020. Attempts to reach the authors and present maintainer were not successful (dotenv-rs/dotenv #74).
This fork intends to serve as the development home for the dotenv implementation in Rust.
This repo fixes:
- home directory works correctly (no longer using the deprecated
std::env::home_dir) - more helpful errors for
dotenv!(dotenv-rs/dotenv #57)
It also adds:
- multiline support for environment variable values
io::Readsupport viafrom_readandfrom_read_iter- improved docs
For a full list of changes, refer to the changelog.
Thank you very much for considering to contribute to this project! See CONTRIBUTING.md for details.
Note: Before you take the time to open a pull request, please open an issue first.
Legend has it that the Lost Maintainer will return, merging changes from dotenvy into dotenv with such thrust that all Cargo.tomls will lose one keystroke. Only then shall the Rust dotenv crateverse be united in true harmony.
Until then, this repo dutifully carries on the dotenv torch. It is actively maintained.