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.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e65892158bd8a0607cce58da6a5cb14ccd899567c3232857c89b4c885a2ce9cc |
|
MD5 | 8295e6b5e56eba4536105e6bdc30497a |
|
BLAKE2b-256 | 97a40b7c44956b169755484e0a007a552cea439c97fce5861378167b9de51273 |
Hashes for cornflakes-3.2.1-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3dcf2361c438ddb1b2eb0dd198ec3d2de4c4b24ec82e4b7b426e7666f740cd33 |
|
MD5 | e58eaa45ad2b3ae08bb9bbad2886296a |
|
BLAKE2b-256 | 6c1d54678e4f196fdae546107114df45a2f2744aee7e33fe80ee07f3c3e9cec3 |
Hashes for cornflakes-3.2.1-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af51eb53e15eb12c91f1a6b407617c96a482a1387bb16483074322fa951dde38 |
|
MD5 | 1b167a475de0994fac774506ca953a92 |
|
BLAKE2b-256 | c176ae037e9e33feee3f3bf0ad2c18088f03c992e86eec2b77ed9532cb547c20 |
Hashes for cornflakes-3.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f902de2d5740f99a59f922dbbcf282578ebcb522e29c2b1639ac62051fbb3057 |
|
MD5 | dad9f8ad368643c089083cb7e3fc1e22 |
|
BLAKE2b-256 | 76e9ff629ead3ba5fd89aa53905945e22f187a4136e02b60a92f9219d74150f8 |
Hashes for cornflakes-3.2.1-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74ba018b067f7b2761fec18882f26ba12fdb3ba1706c770c233cae6ec34cd2f1 |
|
MD5 | 842e6e22d9df8e1a78f67402e76f22bb |
|
BLAKE2b-256 | b5af1254a9e42cc2ee6e9fdcca4d24c196a15e14ad465a063f15eef360d017c2 |
Hashes for cornflakes-3.2.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 290bdae5e47f2498e60b14b332b98afdc66dd148efb1bce191b1df78b4118fd6 |
|
MD5 | c6ac5d4e6dcab0d51d079bcb9cf8d570 |
|
BLAKE2b-256 | 043f568f1619094db437adfe391ca8be72025b1d896000445e3054c9092b1938 |
Hashes for cornflakes-3.2.1-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e70dbfe9bfa19b6cf988755ce1867d8d7c28a3dbd1892ecf954dde14aff65a21 |
|
MD5 | 5a379fe2b2a2a760a6510c364e0cd61e |
|
BLAKE2b-256 | beb099cfea908db47b684a5820196d9abf199daed0619aae0ae080c79a1f5f45 |
Hashes for cornflakes-3.2.1-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bff81656d11c4a2f8815c09cdb03db5dcec44029ba36d8dee817928f5db6d7be |
|
MD5 | f886b83ae3f96cdcb14d8dd22b478edf |
|
BLAKE2b-256 | 00e109992026983510523d9a17c81d94e83be621544659edce6b29d04c666cff |
Hashes for cornflakes-3.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5ed0ed936a24d3bc4f61ed8ffc8354fef2f157bac818b4770a83d90a790023f |
|
MD5 | b20a38925ec2b2143044a2d22c48b75f |
|
BLAKE2b-256 | a871fd8b041f64192dfb3bb0f6c74698dc2d2c8e1b5c2b56c17411d880df230b |
Hashes for cornflakes-3.2.1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c71610b8ccffe25e57976947996343a5160c2c1f0eaf2025f2d4dde385cfb43d |
|
MD5 | e6db9cc0388ba1d29b0278f45e5c08c3 |
|
BLAKE2b-256 | a3b48ef7e9bb894f28838ffc0e8e29e99aaa4376084daf06d8129f8782e7b304 |
Hashes for cornflakes-3.2.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9153923bab7f6d226bc934b3f93f53c8f2ad3b87cf880bd259948f3dc77c570b |
|
MD5 | c3123be5cc43663232a0dde5067b652f |
|
BLAKE2b-256 | 5c3d3456d79605bab5ef2e783f1753f636bd24984cc6ca588500e83b76044d1b |
Hashes for cornflakes-3.2.1-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a5b7f52710ca46fa301b8b15efdf6069dce23bf935dd9dfb8f9b3733e90be68 |
|
MD5 | 9c2ac632a8c71f5f65300c1376ad443f |
|
BLAKE2b-256 | c809c5a24a2765b98b763fee18db56936a7799c6be377ffa5c6e8a8377cad74c |
Hashes for cornflakes-3.2.1-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f18b73b99b3ddbd3da5fcdab782ce09a9a8bf09083225941160cec585a8cbe2a |
|
MD5 | 2090b6936c9e93c570a8af32d1dd0741 |
|
BLAKE2b-256 | 2984951311f90886bc5598996e96afe42a05c8ec62de05107a8fd2a61591ed11 |
Hashes for cornflakes-3.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 788ff9531e54022548f904b3f05e68eca920b0facb0c42a0d0452de047a1500d |
|
MD5 | 338b51e4106f245544d3345cc65dac7c |
|
BLAKE2b-256 | 2e7cbf5b4afeb146f2d70ec5bc015cdc008a0e981f527db35c7a1d82de933fca |
Hashes for cornflakes-3.2.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81481b9f561691f454f85edcee54704138b826f3070ed4a1ad8a0e5307eaedc7 |
|
MD5 | e2ee7ec48ca6743c1eff051d3cd5bb42 |
|
BLAKE2b-256 | af580c4378ea905f7f34aaf3aa896cbde5cc520842ce75f0ad2081d3cba3396d |
Hashes for cornflakes-3.2.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aec70f995a4d6a09c8cff7cd7383dbdd739c8f10887fbdf2d146bb55d462dca |
|
MD5 | 1b3e9f205fb227dbb5a59696e799995f |
|
BLAKE2b-256 | 508809e992f30eb595d128444df620ca4b62f69070c3594652afd587b060b923 |
Hashes for cornflakes-3.2.1-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8e39e8ae88703a7a87155fd9486a473b6b4f652b95a21867021e4dda4ef86f3 |
|
MD5 | 58080e2043d6ced2879381bb86cf4380 |
|
BLAKE2b-256 | 2aeecf0cb39d45933a82cbef9227c2cb3c5c05acafedca76f426415338abb1a6 |
Hashes for cornflakes-3.2.1-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ceeb680ff60f69da0f3e3f0368819a395e07f590bc1aa5d16a497ebe91fb4ff |
|
MD5 | ab519766d4bbc4125c706eaaf8951384 |
|
BLAKE2b-256 | 1a2c64f35c2e0448a3d0a8df6507bc2f0aed8a9701e826871651b346ed8cd820 |
Hashes for cornflakes-3.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5eae102119d76c7b708f60c39c763255242d6bdbd44b713ad3e153f425da3579 |
|
MD5 | dad881d18843a7d33c04069cfe11bc70 |
|
BLAKE2b-256 | 3feeca17b3d88bee01a1a37678ba8c51c2101e17574e04e054770410725874fb |
Hashes for cornflakes-3.2.1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76621b61ffd2e831a577fc5148ce4af8163e5bcffd661e5238c85ea861be90de |
|
MD5 | cdbf79b38d7835424fb92bf3cac43750 |
|
BLAKE2b-256 | c32f4a7d197791d2c17b0f34d2a69cbaf5ba79075f5c7bba3d58e16d97341590 |