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.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78b46eb12a72afa1646cafe0fec5283132ae545494be3407e64c9870998c44e0 |
|
MD5 | 7b685eb21087a35e7c344a9da75ca414 |
|
BLAKE2b-256 | 13a8f563fbff3ac9c8d84180e87258299495a721d62c2ff702efeb5380da322e |
Hashes for cornflakes-3.2.0-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f371167fe4ba70b0c2cbb0de8b3859a7843ec0bbc9477bc26bcdcb6bbc7d74bb |
|
MD5 | 36a960ca16834d0161fce80819a90e67 |
|
BLAKE2b-256 | f9e20c096492913609514dcd2246b1a03cea0697a0d0001743687f6de8cce28c |
Hashes for cornflakes-3.2.0-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 674b535cf7698f6c35c65ea9dc8cb1e8f3d4278ecdd1b5d8b91b3b8aa57e6da3 |
|
MD5 | 2eac62f132e91ec2937b40dc0734195e |
|
BLAKE2b-256 | b1c7486da61d0c307da74d1d775b5f21df98206111a88998db6f8f02d22c608f |
Hashes for cornflakes-3.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 514fb36b3befb60f3ec429e6073070bca811d7d0a71abd27183a63b25af1c68a |
|
MD5 | ab9fe4853d29e3d8fc8b9daea3134d76 |
|
BLAKE2b-256 | 32cf03cf5070f37bba61c40d287ea2b3765c9545361a156040d8ab49a99074e5 |
Hashes for cornflakes-3.2.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40dd77fcc0c33a168c37bf931d1270b0308aa05dce66430093018952295e9530 |
|
MD5 | 42f42bcd967701fad529681b1a7f02aa |
|
BLAKE2b-256 | 3239f870ddd106c38d23060416178d591e98506ce9582558b9775ce7c8581d4b |
Hashes for cornflakes-3.2.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 890d0a24c3a0f44dccb347fbe978f70a3d7080863f6143195917b8904fac8ee6 |
|
MD5 | 3e193f388f086dd6530f50dacb48e28d |
|
BLAKE2b-256 | 36c4e5fe42c0c53ad523e9b099ea09e66ba9c78a0ff410987ee575815da7f96f |
Hashes for cornflakes-3.2.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 355a34ad66e120e81c8d1b8ac0f4a4f5b7e5d30fb411c770f524e7ed429b9605 |
|
MD5 | fc153996e7f6195a5393e6b0f07e8de3 |
|
BLAKE2b-256 | 80a51862ab8eb9a4f4f7929a7007e75a1ca8b8d3f7557bc6d130ab49b89146ed |
Hashes for cornflakes-3.2.0-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e134dfbf6f14749929c2ce9b702e76aa9b6563fcd8b02fcf7bfda1396a720555 |
|
MD5 | 5269ece6421d04f9699507f2356bcc99 |
|
BLAKE2b-256 | 8d39c8a56e4fb515a18ee63926055f4defc4bb8bee65c6b6ee3b255010f80c45 |
Hashes for cornflakes-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f19c44b21b0a1d59c66c86b8a8ad77354b1a6b4faacc939db4b9104841f4a4e3 |
|
MD5 | 971d832e2ca04bac6b2b36c99b32443d |
|
BLAKE2b-256 | 84ad3e040e0f74d23d9801c4fe28e3ba92b99f1e9885a8f10325625a0228166e |
Hashes for cornflakes-3.2.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b211016e57a76c3697cb5a9ccc8a55b0da58face02c52b76966b4b5ed9500d0f |
|
MD5 | 7cab994e1869282467f656a9dfa8e503 |
|
BLAKE2b-256 | f0e5a40ba34907e1c4cc592e868e4e9fe0fcd529dc73c244745c46f27401263b |
Hashes for cornflakes-3.2.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae3602b84ab27c1f33d4555770e0f531e4e9c5f53ffc8edfb49186d0419d82a1 |
|
MD5 | ccaed5b12721f01d4dc00c75fb44644d |
|
BLAKE2b-256 | ebc65f88b17c32cd22f7eb641efd29139833c312a48deca964e556303c0ce6ce |
Hashes for cornflakes-3.2.0-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8221e7c7afbd5205bce2c342d7274ec8c4adfc2d6daffdd42ac9d93ad7a47561 |
|
MD5 | 72ca00aef044509906a2f18b07a7c5f4 |
|
BLAKE2b-256 | 0531ffb9ac225b47f3ac4c3abde01c6fabc400a34fc7bc90b604e9810a0cf416 |
Hashes for cornflakes-3.2.0-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e473182fd111a54ba8468edd5c7ae8462bfb4737f0176de93110b0e1b5a8684 |
|
MD5 | c569cc1ed288338de4b58ff7d008dac5 |
|
BLAKE2b-256 | 000736305d9ef8c7e4fd6b96facde1fd8163b4a2fc574ef37a9aeda38f9aa104 |
Hashes for cornflakes-3.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a787e6280781b60221cce9d10f1a182b18879685acbb9877228e602d5cdb2b5 |
|
MD5 | fc209bf0ca2c62f7d6cda08c173fb61f |
|
BLAKE2b-256 | afa2793e0d7ba1f70a5d32cdd39a6b877bcde13bb9f4b50308ab21769b8bf58d |
Hashes for cornflakes-3.2.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdb1f3a173c9ad51a1c7cafa057488766ad0c858264418637b124520edfe9dbb |
|
MD5 | 1065e85c7507fd65a6f580eb012b719f |
|
BLAKE2b-256 | 7df8a05debddab8a1e86e69da451f8ab0a169ab67b9cf6facd1861cb7c1d58a8 |
Hashes for cornflakes-3.2.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9751dcfc467772089a627f076a9889ed95ac820437da6f6328a9c73991b32954 |
|
MD5 | e6643525fd8bfb015eca06e887c970c4 |
|
BLAKE2b-256 | e3db2aecaec3f45fb4beb29a1936fa5531f9db6960958d83b74973cc32e201ad |
Hashes for cornflakes-3.2.0-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa8f42187b7c464d04ce54ba892b39632bb3b853b88c0c7bce041227cc031771 |
|
MD5 | d7450f9ceee829c0c26613edd182d268 |
|
BLAKE2b-256 | fc029f810b176907e80cb883762bb11f128729bfea5d3a8015c1dd1079d9cca7 |
Hashes for cornflakes-3.2.0-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57ceca15145fd33327ec8b007c1d36a48c84d645a0d3d8635bde5be7177fa026 |
|
MD5 | 4a0f42bdbf0d93c966c53dc5e0398e84 |
|
BLAKE2b-256 | 86e8fe28da49bb938b93162b35ff22babf0b4acdbee9cacc7e7ae9b74fc8633e |
Hashes for cornflakes-3.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e787aca143563f9a362bba1ecf48553cb326b80b9107b1d6624f482fb264b0da |
|
MD5 | 3d457a1794446aef600e139e19d773ca |
|
BLAKE2b-256 | c123a988efc99232120a7a8f37b7dc16ef6bf4dd93d0de92400021e89717f025 |
Hashes for cornflakes-3.2.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9328fe2f320cf95188062e4ce08f759b269a5a4679709843c5744bfb317653d |
|
MD5 | 1c84dd971fb9dda3ea33f03fac48c8fe |
|
BLAKE2b-256 | 455b4dc99941d704927a65762cfa4c068e7f4f3f708ff14db4a8fd8dc019e2e2 |