Skip to main content

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

Project description

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.1",
]

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

get_settings-0.1.1.tar.gz (4.1 kB view hashes)

Uploaded Source

Built Distribution

get_settings-0.1.1-py3-none-any.whl (4.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page