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

Python Configuration Libraries

Ranking updated Jul 13, 2026

For a python library for managing application configuration, the strongest matches are theskumar/python-dotenv (This library is a specialized tool for loading environment), facebookresearch/hydra (Hydra is a comprehensive configuration management framework that natively) and dynaconf/dynaconf (Dynaconf is a comprehensive configuration management library for Python). pydantic/pydantic and omry/omegaconf round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

We curate open-source GitHub repositories matching “best python configuration libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Python Configuration Libraries

Find the best repos with AI.We'll search the best matching repositories with AI.
  • 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

    This library is a specialized tool for loading environment variables from files into your application's environment, which is a core component of Python configuration management.

    PythonEnvironment Variable LoadersEnvironment Variables
    View on GitHub↗8,794
  • facebookresearch/hydrafacebookresearch avatar

    facebookresearch/hydra

    10,449View on GitHub↗

    Hydra is a hierarchical configuration framework and type-safe configuration manager. It is designed to manage complex application settings through composable configuration files and command-line overrides, ensuring that configuration values match expected data types during instantiation. The framework functions as a dynamic object instantiator that creates class instances directly from hierarchical configuration values and nested objects. It also operates as a hyperparameter sweep orchestrator and cluster job launcher, enabling the execution of multiple application runs across parameter range

    Hydra is a comprehensive configuration management framework that natively supports hierarchical structures, type validation, and command-line overrides, making it a robust solution for managing complex application settings.

    PythonCLI Configuration Overrides
    View on GitHub↗10,449
  • dynaconf/dynaconfdynaconf avatar

    dynaconf/dynaconf

    4,308View on GitHub↗

    Dynaconf is a configuration management library for Python applications that provides a unified system for loading, validating, and managing settings. It aggregates configuration data from multiple files, environment variables, and external stores into a single object using a defined precedence order. The project distinguishes itself through a layered environment manager that separates settings into distinct profiles, such as development and production. It includes a declarative validation framework to enforce data rules and type constraints during the loading process, as well as an external s

    Dynaconf is a comprehensive configuration management library for Python that natively supports environment variables, multiple file formats, hierarchical settings, and robust type validation, making it a perfect fit for your requirements.

    PythonConfiguration Management LibrariesConfiguration UnifiersApplication Configuration
    View on GitHub↗4,308
  • pydantic/pydanticpydantic avatar

    pydantic/pydantic

    26,932View on GitHub↗

    Pydantic is a data validation and serialization library that enforces schema constraints and performs type conversion on complex data structures. It utilizes standard Python type annotations to define data models, allowing developers to establish structured schemas that automatically enforce business rules and constraints without the need for custom domain-specific languages. The library distinguishes itself by transforming high-level model definitions into optimized code during initialization to minimize runtime overhead. It supports recursive validation for nested data structures and employ

    Pydantic is a powerful data validation library that includes robust, type-safe configuration management features, making it a standard choice for handling environment variables and complex settings in Python applications.

    PythonData Validation LibrariesType-Hint-Based Schema DefinitionsSchema-Driven Modeling Frameworks
    View on GitHub↗26,932
  • omry/omegaconfomry avatar

    omry/omegaconf

    2,398View on GitHub↗

    Flexible Python configuration system. The last one you will ever need.

    This library provides a robust, hierarchical configuration system that supports multiple formats, type validation via schemas, and seamless integration with environment variables.

    PythonConfiguration Management
    View on GitHub↗2,398
  • motdotla/dotenvmotdotla avatar

    motdotla/dotenv

    20,284View on GitHub↗

    Dotenv is a configuration management library designed to load environment variables from local files into the process environment. By separating application settings from source code, it enables developers to maintain consistent configurations across different deployment stages and team environments. The utility provides mechanisms to transform plain text configuration files into encrypted formats, allowing sensitive secrets to be stored securely within version control systems. It handles the parsing and normalization of key-value pairs, ensuring that configuration data is consistently proces

    This is a JavaScript library for loading environment variables into a Node.js process, which does not fit the requirement for a Python-based configuration management library.

    JavaScriptEnvironment Variable LoadersEnvironment Variable Management
    View on GitHub↗20,284
  • spf13/viperspf13 avatar

    spf13/viper

    30,306View on GitHub↗

    Viper is a configuration management library designed to centralize application settings from diverse sources into a unified, type-safe registry. It aggregates data from local files, environment variables, command-line flags, and remote key-value stores, providing a single source of truth for application state. By utilizing a hierarchical key-value registry, the system resolves configuration values based on a prioritized stack of providers, ranging from default values to runtime overrides. The library distinguishes itself through its pluggable provider abstraction and dynamic update capabiliti

    This is a configuration management library, but it is written in Go rather than Python, making it a tool for a different ecosystem.

    GoFile-Based Configuration LoadersCommand-Line Flag BindingsEnvironment Variable Integrations
    View on GitHub↗30,306
  • jdx/misejdx avatar

    jdx/mise

    29,929View on GitHub↗

    Mise is a development environment orchestrator that manages software runtimes, environment variables, and task execution. It functions as a version manager and task runner, providing a unified interface to synchronize project-specific configurations and dependencies across different machines. By automating the installation and switching of tools, it ensures that development environments remain consistent and reproducible. The project distinguishes itself through a hierarchical configuration system that automatically discovers settings by traversing the directory tree. It uses shim-based comma

    This tool is a development environment orchestrator and version manager rather than a Python library for managing application settings within your code.

    RustConfiguration Cascading SystemsEnvironment Variable ManagementExternal Environment File Loaders
    View on GitHub↗29,929
  • toddbluhm/env-cmdtoddbluhm avatar

    toddbluhm/env-cmd

    1,818View on GitHub↗

    This project is a command-line utility that executes processes by injecting environment variables from local configuration files. It functions as a runtime wrapper, allowing developers to manage application settings and process execution contexts without modifying global system variables. The tool distinguishes itself by supporting dynamic configuration loading, which allows for the use of files that export objects or promises to compute values at runtime. It provides granular control over environment management, including the ability to group variables into named collections, protect existin

    This is a Node.js command-line utility for injecting environment variables into processes, which serves a different ecosystem and operational purpose than a Python-based configuration management library.

    TypeScriptEnvironment Variable Loaders
    View on GitHub↗1,818
  • direnv/direnvdirenv avatar

    direnv/direnv

    15,189View on GitHub↗

    direnv is a shell environment manager and directory-based environment loader that automatically loads and unloads environment variables when switching between directories. It functions as a shell hook automation tool, injecting logic into the shell configuration to trigger environment updates based on the current project context. The project acts as a development environment isolator by localizing shell configurations, which prevents dependency conflicts and removes project-specific exports from global profile files. It includes specialized integration for Nix, allowing the loading of environ

    This tool manages shell environment variables based on your current directory, but it is a shell utility rather than a Python library for managing application-level configuration and settings.

    GoEnvironment Variable LoadersEnvironment Variable Management
    View on GitHub↗15,189
  • fastapi/typerfastapi avatar

    fastapi/typer

    19,632View on GitHub↗

    This project is a Python framework for building command-line interfaces by converting standard functions into executable programs. It uses type hints to automatically infer and generate argument parsers, validation logic, and help documentation, allowing developers to define complex terminal applications through simple function signatures. The framework distinguishes itself through a decorator-driven registration system that enables the construction of hierarchical command trees. It supports dependency injection to manage shared state and runtime configuration across subcommands, and it utili

    This is a library for building command-line interfaces rather than a configuration management tool, though it can be used to handle command-line arguments that influence application settings.

    PythonCommand Line ConfigurationArgument ParsersCLI Argument Definitions
    View on GitHub↗19,632
  • meta-pytorch/torchtunemeta-pytorch avatar

    meta-pytorch/torchtune

    5,774View on GitHub↗

    Torchtune is a PyTorch-native library for fine-tuning, aligning, and quantizing large language models. It provides a config-driven system for instantiating components, orchestrating distributed training, and managing parameter-efficient fine-tuning with quantization support, all through YAML-based configurations and command-line overrides. The library distinguishes itself through its comprehensive post-training workflow orchestration, combining supervised fine-tuning, preference optimization (DPO, PPO, GRPO), knowledge distillation, and quantization-aware training in a single configurable pip

    This is a specialized library for fine-tuning large language models that happens to use a configuration system for its internal workflows, rather than a general-purpose tool for managing application settings and environment variables.

    PythonCLI Configuration OverridesCommand-Line
    View on GitHub↗5,774
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
theskumar/python-dotenv8.8KPythonBSD-3-ClauseJun 14, 2026
facebookresearch/hydra10.4KPythonMITJun 17, 2026
dynaconf/dynaconf4.3KPythonMITJun 16, 2026
pydantic/pydantic26.9KPythonmitFeb 19, 2026
omry/omegaconf2.4KPythonBSD-3-ClauseJun 23, 2026
motdotla/dotenv20.3KJavaScriptbsd-2-clauseFeb 18, 2026
spf13/viper30.3KGoMITJan 12, 2026
jdx/mise29.9KRustMITJun 23, 2026
toddbluhm/env-cmd1.8KTypeScriptMITFeb 9, 2026
direnv/direnv15.2KGoMITMar 31, 2026

Related searches

  • a library for managing configuration in Rust
  • a configuration library for C# applications
  • a library for managing Java application configuration
  • a configuration loading library for Go applications
  • a configuration management tool for startups
  • a python library for application logging
  • a library for managing TypeScript configurations
  • a python library for background task processing