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.9-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 543793bf8fa0c5799ccb0d0b1a245140dde41741ad5545babf5e413fa9770286 |
|
MD5 | e248e65527a99f41f70a44b00a0d18b6 |
|
BLAKE2b-256 | 15ee01cc6d826f75b0b84115793d8eabac00dec9d08a786d168a7928d90564ed |
Hashes for cornflakes-3.2.9-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f9359ac7b698cb48e6276b910ba4324f3dd7efad40afcb2170825701c875287 |
|
MD5 | 1cf7ab782000a5b194107ec3001a4f35 |
|
BLAKE2b-256 | 18825f434da85ec910c29d254a387bfe279c06031691ac0bebfd9e556c1ea20c |
Hashes for cornflakes-3.2.9-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a70b6575c07cf2cad062328fc614b4f6353da918c18252a2e074f39bf96aa185 |
|
MD5 | 8b7115e4030e12ef40fa1eaaba454979 |
|
BLAKE2b-256 | 175d59065da4e9507bf5b172e20f43e4d0da52026e99ff68851aa7515aa18688 |
Hashes for cornflakes-3.2.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c039d8cd09107a5b125b008e481a0d6ce70a770101cae136df2f601a54bd4485 |
|
MD5 | 6679e366c593fe93ae6e1603308f07a2 |
|
BLAKE2b-256 | 010edbf76484693592968d304b226f9f62d5d3f2988524b1dcda1ed7cbe2acb6 |
Hashes for cornflakes-3.2.9-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 810dab651b9511d73636870cc10a84fee7aa08a8cebed0e6dde107685a9f1fd1 |
|
MD5 | f01732b871f87bfde12a00f648355b12 |
|
BLAKE2b-256 | f8b21cb6e75bb0de004f53d209fdf2017532b5817c8f51c34037f8c53e6d7c0c |
Hashes for cornflakes-3.2.9-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f696c89d01fc39f0a52cd726e55eb10c96a9fee7f834f92aff92083c24b65c69 |
|
MD5 | df508daa0fa78be420333fcfbe61b17b |
|
BLAKE2b-256 | 6f0e4f8c73f9585ce8791ecad063c87cb43b64a4783772c98fd67bfad3c9e822 |
Hashes for cornflakes-3.2.9-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f8b57c2687a6892887dce7e8a25109660199a619ea1cff3da2198ea395e5e0d |
|
MD5 | 01b4bea122bc1a8b2765b446f948fc30 |
|
BLAKE2b-256 | 2ed84a15c08fee0153e05a7b6684bc7120a43c4a4b368992d7ab1683c0bf89c6 |
Hashes for cornflakes-3.2.9-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 570be40cf213f848cff815cb65b8ef20f6229259868ec2a1a34d874506a6bdf7 |
|
MD5 | 55cc8fcafd6d9a6aee69d94d3da6f367 |
|
BLAKE2b-256 | 2560ebea6e5751e2c07227a35c4670529a9ed4ec361d10a2bda3e6fd08bb926e |
Hashes for cornflakes-3.2.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83fdbe78e823f0becbc444dfde49eb2195694bb4e06a2ac2a9119cbd9db20b61 |
|
MD5 | 8cd8cc2e7b6133f2add060ef91b27388 |
|
BLAKE2b-256 | affbff23e26a35a42b054951e3d000aef8b574c87b3092b3bf9dd95c2c5d31a3 |
Hashes for cornflakes-3.2.9-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2de00a38a154956be9e39c234f2fb0933cae4ef1d848cf10ffc281bf452854fc |
|
MD5 | f68906d4469a66355080e8cd7bbb8e26 |
|
BLAKE2b-256 | b55b1748443de538cba228e8ba50bb0b178f7056830730a6c09a47ca8596657c |
Hashes for cornflakes-3.2.9-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a790c662ce98f2d91309a8065c849cedc7549f9b1278e3f5e2728cd52501711 |
|
MD5 | b70085a55d01a67f63464b7edb49028f |
|
BLAKE2b-256 | ce71435a5bcef4d7ca5411b0f75489b61a7ad68784caed2c8532ae630f62cc9b |
Hashes for cornflakes-3.2.9-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b41c3dc03ba6af6830dc72c48fb5b185cd2e2d0421940d387b191622dc339ebc |
|
MD5 | cca30a19b198e8d0fff66fe25e546f47 |
|
BLAKE2b-256 | f7c5b82fa1ec8328557e94dd1c61c0e08bb1d5b0483fbc0793376fac0ed63542 |
Hashes for cornflakes-3.2.9-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5513eda0780a569391da4fc44b2aad48fce4b14d3761c5bb41b01a12a445e78 |
|
MD5 | d94f659bc46607ef0d32623a12979bf5 |
|
BLAKE2b-256 | f6c79cf093ba127c856f5c58df5e453c8c50e040eaf55de93f3d7cfaa50ab3d5 |
Hashes for cornflakes-3.2.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d513c1126a60bb81f902471f8b0fd05c7f455e28db2801ab18ca2b66b2418c42 |
|
MD5 | 60e588caeaaaf76b2d69e51bbfea33d1 |
|
BLAKE2b-256 | 182e49d463e97a1ba560b0c2eb7ac6e10b39b1e3d06b43bc49e371cb2138017d |
Hashes for cornflakes-3.2.9-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eb085b64aa4d31a5eaed47bb18ae2d766af64b518d623ff0b1e1ff1959de316 |
|
MD5 | eaf540404e1b78f4fcbdd324451befc1 |
|
BLAKE2b-256 | 8b5b4601e225d358489de219546a74e751dc0697d5545e32fd748501814fc419 |
Hashes for cornflakes-3.2.9-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f90b7719ac7d0b1dbdc27518af2110dd4d5ca001c92cd75c41db6fc33eb8075 |
|
MD5 | bfe793d79d8a4a280f1c35d1c3275f81 |
|
BLAKE2b-256 | fae60a99d3ce4bd6e01925339f6b3776dc789bed214037ba2dc7d58f7f490e70 |
Hashes for cornflakes-3.2.9-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37a2a3c6a8ace955da96b6595ea4155d07fb23b660b589b8149c43b1b4191df3 |
|
MD5 | 8932de53c47f274d1d1b8ded2fad7cca |
|
BLAKE2b-256 | b1552ac99ccb77b42e574bbd08064d366630ca0b5e701851597a3dc912a278b6 |
Hashes for cornflakes-3.2.9-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2df38d65ad3e1e07e15b6ddb062f708320461fe2c5fe7a61cb94f9ad2c37df9 |
|
MD5 | 6e1acaecd93e8be06e6d7d5afa5b1a12 |
|
BLAKE2b-256 | 489d2d056f8f6125e328a94f335c1ff3b41a2387cf7c5c3ad2206e70b27d7c78 |
Hashes for cornflakes-3.2.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1e08fe9e65e50f249a581882d2f945f351812c014d0b79117d6ff28d5bbe52c |
|
MD5 | 4a6768ef4eea1541c880597a81a04e7e |
|
BLAKE2b-256 | e263c926ff1325a67b8c98941c35b3fab905c0ebaecdd916b7a054f71e88d172 |
Hashes for cornflakes-3.2.9-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d5f42144096c93e91e7dbcd85342ef8655563fa18ee1f2f8f697933bef46807 |
|
MD5 | 60d8fd116f227174b68d9a5ff36a3458 |
|
BLAKE2b-256 | c62e8cf0ffbac97530184fa741d6f5a75b6c964870a647b7eaab9f41e125ae52 |