Ultra simple settings management for (only) Python apps
Project description
Getting started
Setup
pip install converge
Usage example
echo 'DEV' > .app_mode
echo 'SERVER_PORT = 8000' > default_settings.py
echo 'SERVER_PORT = 9000' > dev_settings.py
echo 'SERVER_PORT = 80' > prod_settings.py
Python
from converge import settings
print(settings.SERVER_PORT)
Guidelines
Settings files are usual Python files that can contain valid python code however here are some guidelines for user
Use module variables for global application wide configuration
Use UPPERCASE while naming settings variables
For values prefer basic python datatypes usch as string, integer, tuples
eg. SERVER_PORT = 1234
Avoid logic
- Use simple classes for config sections
class DB: HOST = 'db.example.com' PORT = 1234
- Use simple string operations to avoid repeatation
BASE_DOMAIN = 'example.com' API_URL = 'api.' + BASE_DOMAIN``
Supported settings files
Defaults: default_settings.py
- Mode
Production: prod_settings.py
Development: dev_settings.py
Test: test_settings.py
Staging: staging_settings.py
Deployment specific: site_settings.py
Setting mode
Create a file .app_mode This file would have just one line specifying settings (and hence app’s) mode.
Valid values are
PROD
DEV
TEST
STAGING
Based on mode appropriate settings module would be used (if available)
Overriding settings
Defining module veriables in site_settings.py
Example:
default_settings.py
SERVER_PORT = 9999
site_settings.py
SERVER_PORT = 8888
Overriding partial settings
Example:
default_settings.py
class DB:
HOST = 'db.example.com'
PORT = 1234
site_settings.py
DB.PORT = 1111
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file converge-0.2.tar.gz
.
File metadata
- Download URL: converge-0.2.tar.gz
- Upload date:
- Size: 2.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 108d40c162721e59164bd7838f68789cb1e9a0e4d34663c37c8989eb68047289 |
|
MD5 | 1bb3200f45505c689736cd6c435df050 |
|
BLAKE2b-256 | 34cba2c25a1bd831760729944fad1354cc04a50b0bc7d877ff6c5bb3df68f9a1 |