Create generic any easy way to manage Configs for your project
Project description
pip install cornflakes
pip install git+https://github.com/semmjon/cornflakes
Information
This package was created by starting C ++ methods to incorporate into my python implementations. To make things easier for me, lightweight public libraries were included (especially to carry out string operations):
hash-library
strtk
rapidjson
Features:
- The following features have currently been implemented:
- config management system
based on dataclass
alternative Implementation for pydantic (BaseSettings)
ini support files by a lightweight and fast parser (-> ini_load)
yaml support (based on PyYAML)
environment variables
(future) support json (based on orjson)
- command line interface management
method: click_cli (decorator)
based on click and rich
easy to use and start with
- eval_type
method to parse strings in python-types e.g. int | bool | timestamp
- simple_hmac
vectorized c++ hmac implementation
- default_ca_path
python function to find a default ssl / ca certificate path
Currently, the package is tested for Linux, Mac and Windows
Development
Prerequisites
A compiler with C++17 support
Pip 10+ or CMake >= 3.4 (or 3.8+ on Windows, which was the first version to support VS 2015)
Python 3.8+
doxygen
cppcheck
clang-tools-extra or clang-tidy
Commands
Just clone this repository and pip install. Note the --recursive option which is needed for the pybind11 submodule:
git clone --recursive https://gitlab.blubblub.tech/sgeist/cornflakes.git
Install the package using makefiles:
make install
Build dist using makefiles:
make dist
Run tests (pytest) using makefiles:
make test
Run all tests using makefiles:
make test-all
Run lint using makefiles:
make lint
Create dev venv:
python -m venv .venv
source .venv/bin/activate
pip install cookietemple ninja pre-commit poetry
Bump Version using cookietemple:
cookietemple bump-version "<version(e.g 0.0.1)>"
Run lint using cookietemple:
cookietemple lint .
Install pre-commit:
pre-commit install
Update pre-commit:
pre-commit update -a
Run pre-commit:
pre-commit run -a
Publish
Its not recommended publish manually (use git-ci or github workflows instead).
make publish
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
Built Distributions
Hashes for cornflakes-3.2.5-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c21e6853709a9d3bbe564b613ea9a397074d27ab0b13267bbf449562c599cb18 |
|
MD5 | 41c8fe4c10e21a1852cde3e010046e81 |
|
BLAKE2b-256 | 9d758096dcc8121fa15a969294011026e491d35d9a811d59a8bfc5140fd651ba |
Hashes for cornflakes-3.2.5-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf42ee1e0999ecb08f9f900407191ffb661b997d413dc1503a053b0b720c25fd |
|
MD5 | 3696e88712fb15d2a7d9fd9fb568db63 |
|
BLAKE2b-256 | 949d86f1b1554cc28ff0cf286947218fc9028452d75f3363bc1c2dec2f89434b |
Hashes for cornflakes-3.2.5-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 201ac59f98772fcbad9afc4b100ddd1295db7bd91b1463389972d66f135f09d6 |
|
MD5 | 8930bb8fd34f2857205efe52d3e8a229 |
|
BLAKE2b-256 | b2baaa51c6ad5f712160b54fed92e155fb56b6a1306f0db93212aa3199804807 |
Hashes for cornflakes-3.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48233c55227cbe5a08054eae865b9276d651fcf7976a37ca3f6a341d437ff81d |
|
MD5 | 661ecc82621d9c9afec58a9235d52a0d |
|
BLAKE2b-256 | cd2ee92236b9a2f22d73a35db78e1b306760358137e57f5f23e41f943f97703b |
Hashes for cornflakes-3.2.5-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5bb2c7c644dc9b6786755977ed6917c5fbc07870c6a8d43e805913d3c482352 |
|
MD5 | 5a45aef54eb1367201e496bee2f41fea |
|
BLAKE2b-256 | 513f3d9c5103c3ee7cbc345ace0debb5b5cad9a9452aa0e35d2195c6e1f94865 |
Hashes for cornflakes-3.2.5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7a68def57a506974c899cd34b53da434388e39f787f0fb57b17549f594a2293 |
|
MD5 | 6748a58b68d9ab4f43a117b3e44b299d |
|
BLAKE2b-256 | fafd528622180d1eee4723b700987175f41018d5510f05153f4c9fee884c7bca |
Hashes for cornflakes-3.2.5-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed74ef348db772605387bba9562d7c892ec3d281079e838f4443a4c3c1dcc1a7 |
|
MD5 | d6634cee5734bb53e48d3cab34fb910d |
|
BLAKE2b-256 | ae2dfa5e3c1ab5531efdbcdf416441fd8fa27a30aacb958a621de4b4cba710e8 |
Hashes for cornflakes-3.2.5-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 986cfd49ebe9973c82f3f2e1ff802f89125ebbd87abeb7dcf49172763112145a |
|
MD5 | e72b6590f81238c289e59f661077b2ba |
|
BLAKE2b-256 | 12ef277a0b350f329a1e965e660398f5841446df8db11302dd9908879457cae3 |
Hashes for cornflakes-3.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02a24d218fc0678e36dcc0e35cd6f237fc4714ac6fa712bd436036520647f4d5 |
|
MD5 | 8733bb4b5a20867e4d84112087c56526 |
|
BLAKE2b-256 | 038a413db52feaca9554f5a5a25f5d13097992a941895303860899bb22868420 |
Hashes for cornflakes-3.2.5-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d56b2ff5d6252a449a566fb2f11e68fb729a87fbde15763e5576e2aaa6c8ce7b |
|
MD5 | b65c9d6952a74766bfafc113872cd1b6 |
|
BLAKE2b-256 | b513c0aa92d085a90409743de1306a09a86409d990fec47321840176c387d076 |
Hashes for cornflakes-3.2.5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fbb367c6b33576077b99028b8ae6a25c90489727f4b1760ce1dacd9b7f08367 |
|
MD5 | f1e4159179d40bc86456df7cddf81f0b |
|
BLAKE2b-256 | f585af8622c32548ebda09d321b769ba8ed6052fa1b913f5727aa7e5248f0eba |
Hashes for cornflakes-3.2.5-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4c8b93c9c16e1c8d5f98d1198000ef7fe8136914b772e6ee794f82583537bbf |
|
MD5 | 14f61ca9f35292d0f25a09319423ca2f |
|
BLAKE2b-256 | 7d8d881e843a7428f30ab97e0689154e28a791ff3196b37252ebc6fe6a414890 |
Hashes for cornflakes-3.2.5-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ff21e0103b5ac841df14ec14f148505213ce182604a9866e3a48a03df74d9e2 |
|
MD5 | 4f15aea7d74bda1f8e40bf88681ac809 |
|
BLAKE2b-256 | 5bc76705b1b546429e02d9afdb6c66723edf56fef552476ad0b09f409e441476 |
Hashes for cornflakes-3.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3eaec137402cc00b7865cf67cb2a8ac1766134271228ca6544589fa8252b20eb |
|
MD5 | 1cd64fc3f42a48cc8669251f4d3c010d |
|
BLAKE2b-256 | d1669c97fb7bf91255c57a0eb6671eb971b7f2ccf85781bbca2fdec75e863b99 |
Hashes for cornflakes-3.2.5-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60aa0f0ad7238d86862b7169c2139e6c3eb89590124793c1b96e8bb4ab93bde2 |
|
MD5 | 60548d3fc46c0e34abf993d43a0a1d43 |
|
BLAKE2b-256 | af450c061cb3099bfbd7db059cdd6366d19debd430df972302bc9d78549a46a2 |
Hashes for cornflakes-3.2.5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e11178cc2ddfdd041d76d624836bb0af070f5adc873619b974aebfb3d8e4aea1 |
|
MD5 | 7de5cf8f8ac81eeaf570cb21bdd08a73 |
|
BLAKE2b-256 | a1ed0ba0ce5ea77f37060cce9e0fed83d6734338c121f4d262471f63b2023452 |
Hashes for cornflakes-3.2.5-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b8d8854c6aa1fa55fe5ef0c815ce6ddd1452f51850c5616a8b14214e59d90be |
|
MD5 | aba67077c3d4a92864a70d4c64a83f5e |
|
BLAKE2b-256 | 38adc84da4c9d4eb0be9de3eedf49de8a8309d65ad1a5c055d7c335e11d4ee48 |
Hashes for cornflakes-3.2.5-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2f07be2598688218aa59928c12d984e6800100d81284fd3a66ba68723b07cf1 |
|
MD5 | ce08d8b8ac9d4d03aadec69f5a1b17d2 |
|
BLAKE2b-256 | edfb86c7eec5877c276ff5d2ebd1e690d88a29ee4c77860d9ddb4b4a7eec2114 |
Hashes for cornflakes-3.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 487a1d867f6a977a9ce81df35d66eb32cce9003989786830961305733f8b129c |
|
MD5 | 83aef4f259b478f376079324e1334dcf |
|
BLAKE2b-256 | 19e050c0bb917cca9a09adea9db16dd2e155e78bceef425abf424ccd6eec281a |
Hashes for cornflakes-3.2.5-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d8d004ace329e968c3dad6ad302985fef685e4c26bbf70204097893842eb33e |
|
MD5 | feaeb941fdf0fc3257de03be1205db41 |
|
BLAKE2b-256 | 7e35dd8a436022a0840012a48af91f9f35ca862e22b058a01a16d81f924d8c26 |