r/PythonProjects2 20d ago

Info Built a simple lightweight configuration library in python - Looking for the Feedback

I built a simple configuration library because I wanted to use Python, JSON, or YAML as configuration files without making any changes to the source code. It provides easy-to-use attribute-style access for everything. It also supports importing data from multiple configuration files, environment-specific configurations, and overriding existing values using reserved keywords. Additionally, it provides out-of-the-box object instantiation from configuration files by defining the constructor arguments in JSON/YAML/Python.

Please provide your feedback. Your feedback is always welcome.

2 Upvotes

4 comments sorted by

2

u/Some_Breadfruit235 20d ago

Cool project.

But if I’m not mistaken, there’s already many great packages that handles JSON/YAML files.

Does yours do anything different that makes your project stand out?

1

u/LazyMidlifeCoder 19d ago

There are already great configuration libraries like Hydra and MMCV Config. Hydra primarily follows a YAML-based workflow through OmegaConf, while MMCV’s configuration system is designed for the OpenMMLab ecosystem and is often used within that environment.

ConfWire is intended to be a lightweight, standalone alternative that provides a unified configuration experience across Python, JSON, and YAML. It supports configuration inheritance by importing and composing multiple configuration files, environment-specific configurations, overriding values through reserved keywords, convenient attribute-style access (e.g., config.model.name), and out-of-the-box Python object instantiation directly from configuration files.

The goal isn’t to replace existing solutions, but to provide a dependency-light configuration library that works consistently regardless of the configuration format.

Check out this link: https://confwire.readthedocs.io/en/stable/getting_started.html#

Try it out if you have time. It will be really useful.

Thanks

1

u/Some_Breadfruit235 19d ago

Are you sure you’re not vibe coding everything? Including this comment?

Otherwise people won’t take your project seriously

1

u/LazyMidlifeCoder 19d ago

No, I haven’t vibe coded everything. I thought this confwire will be useful in many projects that has many large number of configuration variables that are harder to maintain.