Skip to main content

ConfigAlchemy

https://img.shields.io/pypi/v/configalchemy.svg CI Test Status Documentation Status https://img.shields.io/pypi/pyversions/configalchemy.svg https://codecov.io/gh/GuangTianLi/configalchemy/branch/master/graph/badge.svg https://img.shields.io/badge/code%20style-black-000000.svg

The Settings and Configuration on ideal practices for app development and package building.

Installation

$ pipenv install configalchemy
✨🍰✨

Only Python 3.6+ is supported.

Example

from configalchemy import BaseConfig

class DefaultConfig(BaseConfig):
    NAME = "test"

config = DefaultConfig()
config.NAME
>>> 'test'

Features

  • Base on The Twelve-Factor App Configuration.

  • Configurable dynamic configurator

  • Configuration-Oriented Development

    • Define default config value and its type which is used in your project

    • Use class to support inheritance to explicitly define configurable config

  • Override config value from multiple source with priority supported

    • Callable function return value

    • File (default: json)

    • Environment Variables

  • Proper Typecast before overriding

  • Generic Config Type Support by custom typecast

  • Lazy and Proxy Object Support.

  • Extension

TODO

  • IOC - Injector, Singleton

History

0.5.* (2020-12)

  • Support SingletonMetaClass

  • Remove unpack feature in BaseConfig by removing Mapping Class

  • Support nested config for large modular purpose

  • Support local object

  • Support generic pool object

  • Support Dot Notation to update BaseConfig object

0.4.* (2020-06)

  • Refatory configure function

  • Support property configuration

0.3.* (2020-03)

  • Add proxy and lazy module.

  • Add find_caller to trace source of config value

  • Refactory ConfigMeta data structure

0.2.* (2019-08)

  • Change global variable to weak reference

  • Remove Lock (Prepare to implement optimistic raw lock if necessary)

  • Improve Priority Data Structure

  • Improve Field Validation

  • Use OOP to define call function

  • Properer validation and typecast

  • Improve Type Annotations

  • Import JSON type

0.1.0 (2019-08-01)

  • Init Project.

Metadata

Release files for configalchemy 0.5.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for configalchemy 0.5.5
File Size Uploaded Provenance
configalchemy-0.5.5.tar.gz 24.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for configalchemy 0.5.5
File Interpreter ABI Platform
configalchemy-0.5.5-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 38.2 kB

Release files / configalchemy-0.5.5.tar.gz

Download URL configalchemy-0.5.5.tar.gz
Size 24.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f2ebb8fb85ba9a3ad9eed235ed1503ddb3f97cc5fdcf3163977755619cf3a37f
BLAKE2b-256 checksum
How to use checksums
6b8eab15b3a5b3b058bf4e21aa72518edf3a706028e758d1a6f7106c3a8b08ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

Release files / configalchemy-0.5.5-py2.py3-none-any.whl

Download URL configalchemy-0.5.5-py2.py3-none-any.whl
Size 13.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
e43dd8a027d18d24829cd9d96f2eac7007e2328c701a1b4c383dd35d90393b1e
BLAKE2b-256 checksum
How to use checksums
54e9befe94485ab3e69b6a766b11112b7124c025c46f1c30e8bbf682e59ba335
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

Security for configalchemy 0.5.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page