awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
joho avatar

joho/godotenv

0
View on GitHub↗
10,483 stars·451 forks·Go·MIT·19 viewsgodoc.org/github.com/joho/godotenv↗

Godotenv

godotenv is a Go library designed to load, parse, and serialize environment configuration files. It provides tools to extract configuration data from files into maps and inject those key-value pairs directly into the system environment of a Go application process.

The project includes a configuration file serializer for exporting environment variable maps back into formatted files and a parser for extracting data without modifying the system environment. It supports injecting variables from strings or files into the process environment using priority-based overloading and overwriting.

The library covers general environment variable management and application configuration, including utilities for secret management workflows and local development setup. It also provides capabilities for shell command wrapping to execute external processes with a merged set of environment variables.

Features

  • Environment Variable Loaders - Provides a library for loading environment variables from .env files into a Go application process.
  • Environment Variable Management - Provides a comprehensive system for loading, injecting, and managing runtime environment variables as a primary configuration source.
  • Property File Parsers - Extracts configuration data from .env files into maps without modifying the system environment.
  • Environment Variable Loaders - Provides a tool for injecting key-value configuration pairs from files or strings into the system environment.
  • External Environment File Loaders - Provides utilities to serialize configuration pairs into formatted files or strings for storage.
  • Environment Configuration - Extracts configuration pairs from various sources into a map without altering the system environment.
  • Process Injection Wrappers - Updates the current operating system process environment using system calls to make variables available to child processes.
  • Configuration Tooling - Manages application settings in Go by separating environment-specific variables from the main codebase.
  • Environment Variable Managers - Allows replacing existing system environment variables with new values defined inside a configuration file.
  • Environment Variables - Injects key-value pairs from files or strings into the system environment using priority-based overloading.
  • Environment Variable-Based Configuration - Implements priority-based overloading to determine which value wins when variables exist in both system and config files.
  • Configuration File Parsers - Implements a scanner to extract key-value configuration data from raw text strings or files.
  • Development Environment Setups - Facilitates consistent local development by sharing configuration files that define necessary system variables.
  • Environment File Exporters - Provides a utility for writing a map of environment variables to a formatted and escaped file.
  • Parametrized Command Execution - Provides a utility to load variables from a file into the process environment before executing a shell command.
  • Shell Command Runners - Executes external processes by merging custom environment variables with the existing system environment.
  • Secret Management - Supports secret management workflows by loading sensitive keys from external files into the process environment at runtime.
  • Serializers - Implements a utility for writing and exporting environment variable maps back into formatted .env files.
  • Environment File Serialization - Provides a serializer to export environment variable maps back into formatted .env files.
  • Configuration Management - Loads environment variables from .env files.
  • Configuration Management - Listed in the “Configuration Management” section of the Awesome Go awesome list.
  • Configuration Management - .env file loader.

Star history

Star history chart for joho/godotenvStar history chart for joho/godotenv

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does joho/godotenv do?

godotenv is a Go library designed to load, parse, and serialize environment configuration files. It provides tools to extract configuration data from files into maps and inject those key-value pairs directly into the system environment of a Go application process.

What are the main features of joho/godotenv?

The main features of joho/godotenv are: Environment Variable Loaders, Environment Variable Management, Property File Parsers, External Environment File Loaders, Environment Configuration, Process Injection Wrappers, Configuration Tooling, Environment Variable Managers.

What are some open-source alternatives to joho/godotenv?

Open-source alternatives to joho/godotenv include: theskumar/python-dotenv — python-dotenv is a library and command line interface for managing environment variables in Python applications. It… bkeepers/dotenv — Dotenv is a Ruby library used for loading key-value pairs from files into an application environment. It includes a… symfony/dotenv — This library is a PHP environment variable loader and configuration parser. It extracts key-value pairs from local… alexeymezenin/laravel-best-practices — This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable… caarlos0/env — env is a Go library that reads environment variables and populates the fields of a Go struct according to tag… kelseyhightower/envconfig — envconfig is a Go configuration decoder and environment variable mapper that deserializes environment variables into…

Open-source alternatives to Godotenv

Similar open-source projects, ranked by how many features they share with Godotenv.
  • theskumar/python-dotenvtheskumar avatar

    theskumar/python-dotenv

    8,794View on GitHub↗

    python-dotenv is a library and command line interface for managing environment variables in Python applications. It functions as a configuration parser and loader that reads key-value pairs from files and injects them into the system environment, enabling the decoupling of application configuration from source code. The project provides a command line interface for manipulating and editing environment variables within configuration files. It also includes a mechanism for recursive variable interpolation, allowing dynamic placeholders within configuration files to be resolved using existing en

    Python
    View on GitHub↗8,794
  • bkeepers/dotenvbkeepers avatar

    bkeepers/dotenv

    6,758View on GitHub↗

    Dotenv is a Ruby library used for loading key-value pairs from files into an application environment. It includes a configuration parser to extract variables into hashes and a loader to inject those pairs into the global environment. The project features a variable interpolator that resolves environment variables and shell command outputs within configuration values. It also provides a validator to verify that required configuration keys are present during application initialization. The toolset covers environment variable management, including the ability to generate configuration templates

    Ruby
    View on GitHub↗6,758
  • symfony/dotenvsymfony avatar

    symfony/dotenv

    3,790View on GitHub↗

    This library is a PHP environment variable loader and configuration parser. It extracts key-value pairs from local text files to populate global server and system environment arrays, ensuring that sensitive credentials and application settings remain separate from the source code. The tool implements twelve-factor app configuration principles by mapping local files to process-level variables. It utilizes a regex-based parser to identify variable assignments while stripping comments and whitespace, and it includes guards to prevent local configuration files from overwriting existing host-level

    PHP
    View on GitHub↗3,790
  • alexeymezenin/laravel-best-practicesalexeymezenin avatar

    alexeymezenin/laravel-best-practices

    12,299View on GitHub↗

    This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable applications within the Laravel framework. It focuses on clean code standards, applying the single responsibility and DRY principles to ensure codebase predictability and consistency. The guide emphasizes decoupling components by moving business logic into service layers and shifting input validation into dedicated request classes to keep controllers lean. It advocates for the use of a service container and dependency injection to reduce class coupling and improve testability. The

    View on GitHub↗12,299
  • See all 30 alternatives to Godotenv→