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.2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cfe68c495ec8f8afb96e11fe1422179438cee3be45c909c434fc664b9e86407 |
|
MD5 | bd588fde09a2f57a5f837ce34bea2283 |
|
BLAKE2b-256 | 4735a7e1a572e00129d1abecf9d4411662e4c2f65404e10f32dd94d0f05272f3 |
Hashes for cornflakes-3.2.2-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3dc87c1e3e6cd4919a7f3ba826745db98c08d273719e70f982fb0a73a8ee919 |
|
MD5 | 4d3e0b6fdb0c9a51efea7ead75b0cc76 |
|
BLAKE2b-256 | 84f31be7035790949c04a513dd28f738af493bdebaa3641e2dcbb61dec5d230f |
Hashes for cornflakes-3.2.2-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d8e825b10bbf765d7b68d0a9be54a93e9730ef757310546adb371dc8515e3f2 |
|
MD5 | 477078fbdf2325905296654c51cf6d2d |
|
BLAKE2b-256 | 0645b944f05ae16837473b6f1a63174b0770cd7b6e84a7c09b2f4fc134d51975 |
Hashes for cornflakes-3.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7844c68d3e059e81dac9cc24200effaca204c09385792f8dd3f300366c55ab8 |
|
MD5 | e372b67d74b898e6f24ae4bb28506bcb |
|
BLAKE2b-256 | 406a2f25d84a0d2df30e5e13c56a9f11306ae3c5c5d1a6c39b920691848ff322 |
Hashes for cornflakes-3.2.2-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 792d9a6b09629761ae5662905bc21d25646978e0685240747e7a30c2153056ef |
|
MD5 | 31829981bad0dd87ce195d0070f22d5d |
|
BLAKE2b-256 | da8fc08575c0d1f322e7acc3505647a2563f418ae7c6f24293c762c0fc19a76f |
Hashes for cornflakes-3.2.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1c16d16386192e153398a6f007d55c84be22338abf7be342d48ca8102c8a52f |
|
MD5 | 621b728cc59ac053d19f0b7e0343742f |
|
BLAKE2b-256 | 576fb481895483b1b766356ca71fa5170b92e81ff4c42f8ddaa1a5865cec89e4 |
Hashes for cornflakes-3.2.2-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6cd584bf18c08acf17b2bbd17ba12e48aa32bce17df4d45b8b3ac4563b17a47 |
|
MD5 | f4d55c93001d929605623fd87c8fe8f2 |
|
BLAKE2b-256 | b8c0e4fa6434f72fb1b718842b00105194fd16927930071b789c2226393f4088 |
Hashes for cornflakes-3.2.2-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 637c6888049b24826e7f1bb184c79d94c29091c54a2ae4a0a8244b87fba1de77 |
|
MD5 | 4a3393c0302131743fd82e9b0b1a0f2a |
|
BLAKE2b-256 | 9cd4ab5b69afb29dee7c2f777d7acf0a29fdcabdbbaa1a145c8d2e538b3519e4 |
Hashes for cornflakes-3.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91f4e9e9b79e3e09f7045a341c3303d9ecd685efa943b3ebdb8eb9539c486be3 |
|
MD5 | f0c6ec948fdf3c6f87c60fccd16499b2 |
|
BLAKE2b-256 | 90252a380bc11b9febfedcdd0665864e67a0c573d7650f31084cad7fb7b77db5 |
Hashes for cornflakes-3.2.2-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63ec9ff920c040a6adf5f19a15cf91c3d3ad3609135ac4dbd05a7ddb75a85a00 |
|
MD5 | 5addeb7e35fc67752e0191acbd863a35 |
|
BLAKE2b-256 | 6b4f1179c8a3fe9ccfa231169c8875361fa562fd6d1ad1917793753a83663d60 |
Hashes for cornflakes-3.2.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87a0425ca63726e9cfad32da8636d452ac0783dd0965eb9e408aa3eddab1c276 |
|
MD5 | 1100d4a4dbcd70458807beb0ec164724 |
|
BLAKE2b-256 | cdcb0311ab7f867fe7902319bb1dbe87b7041c8662b08c2e19d2165a24c6005e |
Hashes for cornflakes-3.2.2-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36fcae3c0b85cd06b67d9b6c07a792795f7ede22440009511b1207ee87ce9509 |
|
MD5 | fe3967166953262ff0893c274f35d72d |
|
BLAKE2b-256 | 790d3de464d2069b236271f74d017c9574902947bec4168b9dcedfda84e76b8d |
Hashes for cornflakes-3.2.2-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f0e6c180d92a60c39dacd2669048b294649bafe07f6a355be08412169fac67a |
|
MD5 | db72fe4a7d4e949cad473718d2a15c0d |
|
BLAKE2b-256 | 9124a9c0b47af566bb65055af3fd781eafc4b41caee4b02887ed1c44abefd501 |
Hashes for cornflakes-3.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c90ac100d36589f9f36ce3fe73d8a5a68835b236783221da4a0c6bb8aaf687d |
|
MD5 | 95d49f99242ba07fb07580ec14e057e5 |
|
BLAKE2b-256 | 1fcb1ec59c150e1f890d68170cdc6e52af742a3b68c61f07db97329c27bcb721 |
Hashes for cornflakes-3.2.2-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfb517c1c93b16c600ee215452c846b7eb5c2fcb3beddf3ac4cc71d9652cf728 |
|
MD5 | ed2ad0daead3147a284427b84f747a51 |
|
BLAKE2b-256 | 96edaf76fac8ce7ee8d9fbec239c839c3df0a6ff3e2194a50201dc1ef7069643 |
Hashes for cornflakes-3.2.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4b04904a1df726e70a79099b25a6bf0ba063a637beada26320ff04cb8901c6a |
|
MD5 | 3d4530c555f2c6d5f81b2f2341111171 |
|
BLAKE2b-256 | 15b5f791f0a54542a8232d11f48104094ccfb1711d0bfb04ac5f22d25362df35 |
Hashes for cornflakes-3.2.2-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47d157e12b832e20151cb1f62fcb52da823ce71ee703c088589442430585563c |
|
MD5 | a4de94a1504e7bb295585522af956fe2 |
|
BLAKE2b-256 | 4c145f2ac9f432582ae3ae481115b2888eb8b4f668d1a710218ac255af066d46 |
Hashes for cornflakes-3.2.2-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29f2f3538fee85f6c0166731296e39580f971d47311c0627321e3fc040608252 |
|
MD5 | 8ef864b226f8ef4b1cf786dc5c1577ba |
|
BLAKE2b-256 | 9c6f70cb4f187e23a11a5df44b589a58ccdd0f8c59d0074afcd47892839aab11 |
Hashes for cornflakes-3.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b30c553d5039ffba2d267bdd3671dfe9ce34684564c67c6e45d0b741f0ea8e0c |
|
MD5 | 907cc7edaf49e2a5247ce71ba2c20e5a |
|
BLAKE2b-256 | cc88b57ca1448be274c257e0ba84170a0c40764e02ea84c8337bc0aa43037f9b |
Hashes for cornflakes-3.2.2-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 486f76821f6cb2c88ece83dfc1e8abcb61143c05c63db8aa0c18589fe78f14dc |
|
MD5 | 04ad0a2e8158adbf0a1898814459a5e1 |
|
BLAKE2b-256 | ef79a9308080da14f2f1f112529880a80693a3c33557cdd511d858e4cec3d25f |