[PR #2619] Add simputils-config #1936

Open
opened 2025-11-06 13:26:11 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/vinta/awesome-python/pull/2619
Author: @PandaHugMonster
Created: 10/9/2024
Status: 🔄 Open

Base: masterHead: master


📝 Commits (1)

📊 Changes

1 file changed (+1 additions, -0 deletions)

View changed files

📝 README.md (+1 -0)

📄 Description

What is this Python project?

simputils-config is a tiny library that simplifies working with configs and params. Especially useful for collecting config values from different sources and using the resulting "dict-like" object for different (unlimited) purposes. Additionally allows integration with pydantic framework and as sources any file-type (If the handler for this file-type is implemented, custom or not).

  • Helps with improving overall architecture of an application (architecture quality and customization was the main objectives of the project)
  • Simplifies and reduces amount of effort in using configs
  • Tracking history of applied values
  • Aggregating values from different sources
  • Merging configs with different strategies (extensible)
  • Improved integration with IDEs auto-completion feature
    • Config can be used in "object/dot-notation" way (with a proper description of the config), IDEs would provide autocomplete for field names
  • Enum config definitions (with defaults, data-types casting, etc.)
  • Filtering and pre-processing features
  • Resulting config behaves as a standard python dict data-type
  • Seamless Integration with:
    • Standard python argparser
    • Out of the box support of file-types: yml, env, json (custom handlers for other file-types can be added)
    • System env-vars os.environ
    • pydantic

All the features are implemented with development effort reduction and generic architecture in mind, that makes this project awesome.

What's the difference between this Python project and similar ones?

Most of the projects related to "configs" either too complicated to use, or missing features, besides bloating and damaging the overall architecture of a project (IMHO).

--

Anyone who agrees with this pull request could submit an Approve review to it.

P.S. I'm the owner of the project, and I understand that this can cause this PR to be rejected, but I really think that this project can be beneficial to developers.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/vinta/awesome-python/pull/2619 **Author:** [@PandaHugMonster](https://github.com/PandaHugMonster) **Created:** 10/9/2024 **Status:** 🔄 Open **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (1) - [`90a48ff`](https://github.com/vinta/awesome-python/commit/90a48ffc5c2225024c102061f07e9a849052669e) Add simputils-config ### 📊 Changes **1 file changed** (+1 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -0) </details> ### 📄 Description ## What is this Python project? `simputils-config` is a tiny library that simplifies working with configs and params. Especially useful for collecting config values from different sources and using the resulting "dict-like" object for different (unlimited) purposes. Additionally allows integration with `pydantic` framework and as sources any file-type (If the handler for this file-type is implemented, custom or not). - Helps with improving overall architecture of an application (architecture quality and customization was the main objectives of the project) - Simplifies and reduces amount of effort in using configs - Tracking history of applied values - Aggregating values from different sources - Merging configs with different strategies (extensible) - Improved integration with IDEs auto-completion feature - Config can be used in "object/dot-notation" way (with a proper description of the config), IDEs would provide autocomplete for field names - Enum config definitions (with defaults, data-types casting, etc.) - Filtering and pre-processing features - Resulting config behaves as a standard python `dict` data-type - Seamless Integration with: - Standard python `argparser` - Out of the box support of file-types: `yml`, `env`, `json` (custom handlers for other file-types can be added) - System env-vars `os.environ` - `pydantic` All the features are implemented with development effort reduction and generic architecture in mind, that makes this project **awesome**. ## What's the difference between this Python project and similar ones? Most of the projects related to "configs" either too complicated to use, or missing features, besides bloating and damaging the overall architecture of a project (**IMHO**). -- Anyone who agrees with this pull request could submit an *Approve* review to it. P.S. I'm the owner of the project, and I understand that this can cause this PR to be rejected, but I really think that this project can be beneficial to developers. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-06 13:26:11 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/awesome-python#1936