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.1.4-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea43e86559453aa6b76d21111a8d38eb1fd46fd47b31678442e8d29104bbe4b7 |
|
MD5 | 0d91250ad59d1361f62ede34a68f7ac2 |
|
BLAKE2b-256 | 6586cda5c580043b9c79827eb82be3d87c497cbf65171e1005ed2f8614f9bb95 |
Hashes for cornflakes-3.1.4-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1286a3e5a601b310880ef75965a71ecdf47f28cc94ea07732f9b65dfa58b4841 |
|
MD5 | 8c67c4e00d477fe3fd8eb0543d52eaf6 |
|
BLAKE2b-256 | 892a24ea6a556f5197d574b94ec3a767350b7a5a5f977005d66a3fa99b792dc8 |
Hashes for cornflakes-3.1.4-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59f92737cd0f4014d9c4e776d5a89414d47c06ca86eb1a7f5153e9d724ac6a45 |
|
MD5 | 6426ac830b2ce7f1e52604b3e0deda72 |
|
BLAKE2b-256 | 28cc24fb062d7747a8beec5f16bd1209846dd19f8a69f12b58bb9cbc8cd7c847 |
Hashes for cornflakes-3.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28b36c94e72bd28690156a02ba7423f22ae5a89190559b6e2860a4143487fb11 |
|
MD5 | 0908108b260800a87ff83a975623ce29 |
|
BLAKE2b-256 | 7e52335fc7a958e7c2f1837c97243210f06afbf51f2d7cac98fd72233ba3e8ab |
Hashes for cornflakes-3.1.4-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10d6de46f1de768bc330db596955df8fbbd6dec83f5815b7a73d6553284773b7 |
|
MD5 | 1e9df1a4d4225531e67472d6beb6ba95 |
|
BLAKE2b-256 | 30f7dd44239d69d6bdb80e9e95570af1493e4952231196b8c52917f5eba17a38 |
Hashes for cornflakes-3.1.4-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54786a955c3b592c36bc11a14e4a111127ceb34ae6638f711855c9a9e539a08e |
|
MD5 | 2cf004de993a9f3d4b8e2ccf96158a71 |
|
BLAKE2b-256 | eabb226d0530edcd0f87328d93c39a202384aa38e762f5c3ec058d94954f337d |
Hashes for cornflakes-3.1.4-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e904962aadfbe069294d907160f6be104ff64374e11875620b606f1be7f144f7 |
|
MD5 | efd368af03a730265f08e81de14f0495 |
|
BLAKE2b-256 | 5ed5b44eaef48814eaebb9525056b544ad4be6cc4c79c9fde29f29443c572282 |
Hashes for cornflakes-3.1.4-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a6148c520d144f758b036d3394575cd0dfe8b45194e13918c8480f284e14f5f |
|
MD5 | 325892f970421b4f815aa4183a82499c |
|
BLAKE2b-256 | ffc1574d4c08bbcf98463dd7b32ec7c8c35b1163b89fffb6e3f979631abf4d88 |
Hashes for cornflakes-3.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71852a813b74f4f7fda25644ae5281c8eddbe2e7fbaa29721b770ab79dcea3cc |
|
MD5 | 77d8f532228b0b0be436b399c95f59c3 |
|
BLAKE2b-256 | 479883e771052a77c2f62fe1b1f6147ded55791fc60c1fe2535b5b695a43c256 |
Hashes for cornflakes-3.1.4-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 587bd70bdb697631740afb9a1580a54c072c32dcac3b771707cc47e28fe6868b |
|
MD5 | a67ed6186b6dc78a463f5a5c30ca44ab |
|
BLAKE2b-256 | e561cc326b488e843428cdb1c48d589d6d17f7c6dd5ee8513d438f9fff5136a8 |
Hashes for cornflakes-3.1.4-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4297193a1d96dcb12c8d143219db0ee6716519125d5fc0b62af399e74d81b30a |
|
MD5 | b802ab11a19ce92a014586e8d53d12b9 |
|
BLAKE2b-256 | 00bd28de639a9f29cb3bf7887707817a111a3f22ae54471b445af06e62723a77 |
Hashes for cornflakes-3.1.4-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8305d33f67e61f79af6c8d95d19e3e0ef1dddbe82928b2742027516e1c42c7c8 |
|
MD5 | 2bb546787d2305d97afd311cd33f8b9b |
|
BLAKE2b-256 | c74f9d42bf6c86e8692edd1d3dc0a3b45d6d9419c00cd5969bc444cf357c176c |
Hashes for cornflakes-3.1.4-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f293b3ffba9624c69ede0232737cce3d313b716bdae31bcc64b6ae5ed480e1c0 |
|
MD5 | dcf0b74d33db09749a8be7748e8d53c7 |
|
BLAKE2b-256 | 8b19206a26f1a95f5eab796ae8a746725597bbc97bf8cdcd647f21c1d5901ffe |
Hashes for cornflakes-3.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 385d247ee27d4f92af5eb7a03cadb660b4231277b23180bd10127e3a8fddbc90 |
|
MD5 | 1bb9d3f337e5281787c37460287aa855 |
|
BLAKE2b-256 | 7bb2d5d13f12616f49bfc5570903c2d0bac9e368dcd9188cc3ebf06db5633e37 |
Hashes for cornflakes-3.1.4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf529a0b66c6e251971aa0a67031ababb0c30dc5fdfcc414d4d048fa97e537d1 |
|
MD5 | 8157e856d01dcfaa6e0bbc676b4ba9b0 |
|
BLAKE2b-256 | 8045198bd6077a79aad6912b1fbf57082e1b4c240de04a85df78d02d47ff3d52 |
Hashes for cornflakes-3.1.4-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64a65f7f78ff3652e5bba42c3882e420a4134ad4349739386fcecc8218892653 |
|
MD5 | 2e66a8ad72b2fd81523e5681b9ecc1b6 |
|
BLAKE2b-256 | 1632fa82042f882ad22efefac9adc41386bed658d7760f711f826cfd80b7f860 |
Hashes for cornflakes-3.1.4-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 142ec8aa20a19468ba6fd8bb5b4aeb42dcb048053eb183a2acfa03f974e495b0 |
|
MD5 | 0c079a9084f7f4abde60e9b50e208592 |
|
BLAKE2b-256 | 2586a9bcab169b24fdcaa574592358f8e41ca97f33e2c5abc42c208eefaf55d1 |
Hashes for cornflakes-3.1.4-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 677878de2c1dce3769f6eac60ef4675410cb61fcfd2f647ca5f2756c2541c4be |
|
MD5 | e68c123577614c773d377b5ac5198269 |
|
BLAKE2b-256 | 85588fd25c0312f71a8838e4a86fbdb2b8c1b840b7b24309ee3c5d85dd49fdde |
Hashes for cornflakes-3.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 769819a973204ea682ee37d14357c4f6be70226536fe0739ccead895b9d1e78f |
|
MD5 | 576ef2db8c846a4bb769659aa7081413 |
|
BLAKE2b-256 | f5e6c4c525bf8f85b645ae5e7777c7e1a155ef361bb1e7f4ce1babbf9b988e65 |
Hashes for cornflakes-3.1.4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08cb03afa20cdd956b5509456fb2e77ff8a4f22f70ecedef7d34bcb7b17b7814 |
|
MD5 | 0dc278453edc1e63723b594b21072030 |
|
BLAKE2b-256 | c4173ac8f9781e808016032fb9b41d473058a511d84a9a8f6dd8cf39f9cb892d |