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
weavejester avatar

weavejester/environ

0
View on GitHub↗
935 stars·71 forks·Clojure·17 views

Environ

Environ is a Clojure library designed to manage application configuration by consolidating settings from environment variables, system properties, and local files into a single, unified map. It facilitates the externalization of application settings, supporting the practice of injecting environment-specific configurations at runtime to maintain code portability.

The library distinguishes itself by implementing a global registry pattern that allows decoupled components to access configuration without passing state through the call stack. It performs automatic key normalization by converting underscores and dots into hyphens and forcing lowercase casing, ensuring that configuration keys remain predictable and uniform regardless of their source.

To ensure data accuracy, the library employs lazy resolution, deferring the reading of system environment state until the moment of access. This approach ensures that the application always retrieves the most current values from the underlying environment.

Features

  • Configuration Management Libraries - Provides a library for managing and consolidating application configuration settings in Clojure.
  • Configuration Registries - Provides a centralized, read-only registry for decoupled access to application configuration.
  • Configuration Aggregators - Consolidates settings from environment variables, system properties, and local files into a single unified map.
  • Environment Variable-Based Configuration - Consolidates environment variables, system properties, and local files into a unified map for application settings.
  • Key Normalizations - Standardizes configuration keys by normalizing casing and replacing delimiters for uniform lookups.
  • Dynamic Merging - Combines multiple configuration sources into a single unified map at runtime.
  • Deferred Configuration Values - Defers the resolution of configuration values until the moment of access to ensure current environment state.
  • Twelve-Factor App Implementations - Facilitates the externalization of application settings to maintain code portability across environments.

Star history

Star history chart for weavejester/environStar history chart for weavejester/environ

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

Open-source alternatives to Environ

Similar open-source projects, ranked by how many features they share with Environ.
  • 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
  • node-config/node-confignode-config avatar

    node-config/node-config

    6,427View on GitHub↗

    This is a configuration manager for Node.js applications that handles hierarchical settings across different deployment environments. It functions as an environment-based loader and settings parser that merges default configurations with overrides based on the current runtime context and hostname. The project distinguishes itself through a priority-based merge strategy that incorporates environment variables, command-line arguments, and external data sources to supersede file-based settings. It supports multi-format parsing for JSON, YAML, JavaScript, and TypeScript files, and allows for cust

    JavaScriptconfigdeploymentproperties
    View on GitHub↗6,427
  • luggit/react-native-configluggit avatar

    luggit/react-native-config

    4,956View on GitHub↗

    react-native-config is a cross-platform mobile environment manager and native build configuration tool. It implements twelve-factor app configuration principles by separating environment-specific settings from application code. The project provides a mechanism to inject environment variables directly into native project files and build settings during the compilation process. It further functions as a type-safe configuration loader that generates TypeScript definitions for environment variables to ensure autocompletion and safety. The tool manages multi-environment configurations by loading

    Java
    View on GitHub↗4,956
  • 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
See all 30 alternatives to Environ→

Frequently asked questions

What does weavejester/environ do?

Environ is a Clojure library designed to manage application configuration by consolidating settings from environment variables, system properties, and local files into a single, unified map. It facilitates the externalization of application settings, supporting the practice of injecting environment-specific configurations at runtime to maintain code portability.

What are the main features of weavejester/environ?

The main features of weavejester/environ are: Configuration Management Libraries, Configuration Registries, Configuration Aggregators, Environment Variable-Based Configuration, Key Normalizations, Dynamic Merging, Deferred Configuration Values, Twelve-Factor App Implementations.

What are some open-source alternatives to weavejester/environ?

Open-source alternatives to weavejester/environ include: symfony/dotenv — This library is a PHP environment variable loader and configuration parser. It extracts key-value pairs from local… node-config/node-config — This is a configuration manager for Node.js applications that handles hierarchical settings across different… luggit/react-native-config — react-native-config is a cross-platform mobile environment manager and native build configuration tool. It implements… theskumar/python-dotenv — python-dotenv is a library and command line interface for managing environment variables in Python applications. It… apache/dubbo-spring-boot-project — This project is an integration framework that bootstraps Apache Dubbo remote procedure call services within Spring… caarlos0/env — env is a Go library that reads environment variables and populates the fields of a Go struct according to tag…

Curated searches featuring Environ

Hand-picked collections where Environ appears.
  • Local Environment Variable Managers
  • a library for managing application configuration files
  • Environment Variable Management Tools