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.4-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d040aea75f012a2c0df0307fac274ccc4b2c3db4a5f2bf8d904d0af11805ebdc |
|
MD5 | ebdd911699401f7d6916fe266c3c4c8f |
|
BLAKE2b-256 | e1770b6250ef2060569f9a3171d446306208362f4f585daf2a8d55d5db88159c |
Hashes for cornflakes-3.2.4-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2db2d645a9dcbfed8a65b5e99f21c32eb0d7c1c0772edebf11186b328cecc3b |
|
MD5 | 3c803c81e15f7f1fcb0e9327767076ec |
|
BLAKE2b-256 | 6fedf89a8809be53dffb54690e8271eb7e2952835648649e5c9e9a73be523d16 |
Hashes for cornflakes-3.2.4-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 461dd6fb0c9104396b1014fe782fe0a58ff05a1ae7af64b52792c3b4ca5a4c45 |
|
MD5 | 28b2a64b17598b7e63d832460bb47232 |
|
BLAKE2b-256 | d9cc028705e1d0fe680862333c2975154dc6513ab7ac6a580c089d62abf7a487 |
Hashes for cornflakes-3.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e210167870c67d30bc415a5602c61a68070dc78c2d0db937523b16c47143cdf1 |
|
MD5 | be1b172acdd9246d425a1609716aaf6a |
|
BLAKE2b-256 | 7d720e201c33a77383ba8acffe6ea9c54cdb8bdbc3a85fb0936bfd3c1d53c693 |
Hashes for cornflakes-3.2.4-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 747ed244c72876743a93f96476d81e52ed9a8e047afcb39a206721f8629ae3c1 |
|
MD5 | 476e2943e19acd4b28424be614083961 |
|
BLAKE2b-256 | 957cfde312b2292606919366232447a70261cf932156f55b6c6d3a534dfd4e60 |
Hashes for cornflakes-3.2.4-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47289e75bb470436a8e762203da5f9aae1eebf90befaffb21ef35404ee5d3c12 |
|
MD5 | d5db8af1ac3483aa1eaf71bf48e635c4 |
|
BLAKE2b-256 | e160cddddb5dd3be0a2860b43d43b56131b5814c9a5ee1355aecb7e83aa62bbd |
Hashes for cornflakes-3.2.4-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fe92f9daabf62f81544fd42da594b82c65775eae6f334fe420174f424d6f84e |
|
MD5 | 1b9bf01b323f0b01c0e0274ae170a3ec |
|
BLAKE2b-256 | f504ec8cbf8149f2b90f0268507223042ddeb17032d47bae5cd9ecd7daa6608c |
Hashes for cornflakes-3.2.4-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af08eabec16fd01c04e69546a591583776d6b466ad53d49a3d74a0729062879f |
|
MD5 | 9683555f4264b0e14bab05e43af2b4a7 |
|
BLAKE2b-256 | c6b63c79a91f9d985148926214cd41fdf23c6a712e34794f8dce1b632d5c98cc |
Hashes for cornflakes-3.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e6929aee71189904ecac246d5b9bdedbb0ebcf2371e580ada87e05d3c77b2be |
|
MD5 | 4f0b5c26430cee33862682136b177187 |
|
BLAKE2b-256 | ab3e77a5c1a7abfabd87e215c7aa2158984cd03787b54108bc886df1e03fde28 |
Hashes for cornflakes-3.2.4-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c5ce40a8c85ae4746e460e4bda917366a7a7c7dd5925f365ea09aa1302501b4 |
|
MD5 | 012145ababf93f5b3ab8294754390ed9 |
|
BLAKE2b-256 | 449798e1782c1ec592d90331d036b6202a2ea9f50b8a16b8e7e4437505ebf293 |
Hashes for cornflakes-3.2.4-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2997ba1f559a2c5b0c45ebf871c16a36e836caf30df152267cd335ae39bc4e02 |
|
MD5 | e77b6a1bb78f1920ec8318be119e249b |
|
BLAKE2b-256 | f2017416378a1dfa821b98afefe6596c1c2070e4cc4ba9b7e815d0de4fe6c68a |
Hashes for cornflakes-3.2.4-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de37d24259b661d9da6004d966f18d592f3c69265483fc55ac87b6eadfc927bb |
|
MD5 | 9e75f954739e418f06c56d1ff6aed4ca |
|
BLAKE2b-256 | 4ca5942f5c18a506484da6a93e671dff7bd8e0cd7582d10e3a7a569e2755ada5 |
Hashes for cornflakes-3.2.4-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d802b79d576b64239b2ad826f36cef48357da8030db0584b80fb5ec1a74aedb |
|
MD5 | c2fe643e12859b958f5d2bbb0d11ec2c |
|
BLAKE2b-256 | 9d591a3878055bb904380d38ab2d632e278c205a3a27b910ce81ea0c6f5d06e1 |
Hashes for cornflakes-3.2.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c930c62c730744fd4c32fa713d61c83e1e95a205d8206db12b76a5715c55eaf7 |
|
MD5 | 633bf342645c1e2f51d81cd63c2e53c3 |
|
BLAKE2b-256 | a2b979b197af4387712f7f32bacfbdb75c60b14c6632adee02c260927d465dd3 |
Hashes for cornflakes-3.2.4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9df005eb3ac3895d72e696baf696c5dd74a4c0aa8b793ae258d778b78236c5f9 |
|
MD5 | f60ccfa5a386d599f44cfa59d93f2a64 |
|
BLAKE2b-256 | d42eee188a3a44a7afd4f3e3906bae23cc02d597ee712c048a12ae4a7ed6f182 |
Hashes for cornflakes-3.2.4-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52fb93b502eee77916e1f7e6597bf8f52f87abe2be59fc3029f36f7cfac42af0 |
|
MD5 | 9984c6e48d0be33327bfb0527d225169 |
|
BLAKE2b-256 | 1e0bc62307a3c79f1bdc00699af6b0cf02112e22e5a7602a76da0ff2ccc7755d |
Hashes for cornflakes-3.2.4-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f10519cd960065ea10714fe898501926ef96e65123352026b9b4d0b5a92761d0 |
|
MD5 | 89abd48cd75adb6537b7550946ff0eba |
|
BLAKE2b-256 | 31f6aa09e2f1735091abb9935ca0565442c5a6c548e1a7119f783a4152c66bc6 |
Hashes for cornflakes-3.2.4-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 345d7b43fd44b982f2ff659def772073662340208c27e31ec62a90de202396c4 |
|
MD5 | cddfec68fa6b3548437fbde2cd47e66b |
|
BLAKE2b-256 | cf86b0da74cf72ef40d8ea2e7171bec7a534e82ecd07548641233e25227b92e1 |
Hashes for cornflakes-3.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 369e2007a9371ffc5cc812a2051bd9893a8584b7fd0623774c5744488cfd9f67 |
|
MD5 | 4e1c81ded1d9ee9e748ce04f2d4863e2 |
|
BLAKE2b-256 | 7baaa57b3fabe534152932671347c78439d81f897411d107e66a3be467a74528 |
Hashes for cornflakes-3.2.4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3bc4aaa46687ddafbda0f539bb241b31ea0d48f8c6cc64b27d1c269cd1429dc |
|
MD5 | 7aff74250e6adb9b508f242bd2493f02 |
|
BLAKE2b-256 | 9d755d3bc61dc7d6ad1300d3f90014076c1d3c60cb3c15ff27d63a601f678390 |