get-settings

get-settings is a python library designed to facilitate the retrieval of configuration variables from a settings.py file.


Keywords
packaging, poetry
License
MIT
Install
pip install get-settings==0.1.1

Documentation

get-settings

PyPI version

get-settings is a python library designed to facilitate the retrieval of configuration variables from a settings.py file. It provides a convenient way to load these variables as a Python dictionary. This library is particularly useful in the development of Python libraries, as it can dynamically detect and load configuration file content.

Installation

pip install get-settings

Usage

from get_settings import load_settings()

settings = load_settings()  # settings = {"USER": "foo", "EMAIL": "foo@example.org"}

Ensure that settings.py file exists in the project root and contains the necessary configuration parameters

.
├── settings.py
└── foo.py

Don't forget to add get_settings to your pyproject.toml:

dependencies = [
    "get-settings>=0.1.0",
]

Manual configuration

Also, you can manually provide the file path to the library's configuration function:

# Provide the path to the settings.py file
settings_path = "/path/to/settings.py"
settings = load_settings(settings_path)

File format

Varibales accepts from the library

# settings.py

USER = "FOO" # YES
PORT = 8000 # YES
DEBUG = True # YES
ORIGINS = ["http://localhost", ...] # YES
FOO = {"email": "foo@example.com"} # YES

foo = "user" # NO
__FOO__ = "user" # NO

the result of load_settings() will be the following:

{
    "USER": "FOO",
    "PORT": 8000,
    "DEBUG": True,
    "ORIGINS": ["http://localhost", ...],
    "FOO": {"email": "foo@example.com"},
}

Contributing

We welcome contributions to this project! If you would like to contribute, please fork this repository and submit a pull request with your changes. Before submitting a pull request, please make sure that your changes are fully tested and that they adhere to our code standards.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Credits

Some features in this library are partially inspired by the python-dotenv library Copyright (c) 2014, Saurabh Kumar, 2013, Ted Tieken, 2013, Jacob Kaplan-Moss


Thank you for using get-settings library!