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.3-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a1da33535cbaa8dbf593ac29673b7792f2ef09506f587f5d85f3706add9733b |
|
MD5 | e33c7c9bb50178e28a732a1395470aa3 |
|
BLAKE2b-256 | 628b3c102232acd176e422e1cc37c5e457b84a380ae7ce112ebedbb0b52e29f0 |
Hashes for cornflakes-3.2.3-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c607a612412cd385c3b61c23ae9baaed8da723d8b6b6e8a472d042b42707bef |
|
MD5 | a015e688d2b7d5458b64f501efa9b789 |
|
BLAKE2b-256 | cac789763d1347819166358ccf7733f810b410f2955fe3ee6605ed1ecf302cee |
Hashes for cornflakes-3.2.3-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1851fc31c467526d2812bcb473f7907f570c91aa3a480be6d8611c9f4c93dfe5 |
|
MD5 | abca6597cca2427099ee1bcdc32e7ee2 |
|
BLAKE2b-256 | bd81ea067466015edae79c5b13e4e4f90e7f0342896bd369d374ff20a85bfd4a |
Hashes for cornflakes-3.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e01f1d76593ca62ed78827d0bcb392282442e871b34893704aa1d5449d1627a |
|
MD5 | 5799d2445c27960fae8d319f3bcb1627 |
|
BLAKE2b-256 | 68aa69b1c4243eef593ba6e02ab2489343c315b3f25b115a9834fb4070c99436 |
Hashes for cornflakes-3.2.3-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff2072ba73d79a4ac99a094197df0f0561189a152604b8553d9c1c0b5a31adc6 |
|
MD5 | 0f60250522896e1d52bf3507c0c1d677 |
|
BLAKE2b-256 | 5c23132e6d8cae731aa501e8a61f6b40d94fd8f96b31fb068dd3ae2b314afcdc |
Hashes for cornflakes-3.2.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3519846b93987f35ac794f653d11abf307e313937a4503cf4da18f0fdd6ac642 |
|
MD5 | 5043f6970c742273027aa55ce509b2b8 |
|
BLAKE2b-256 | 167414a9ad37b9910863bf20403f82ff70aa67002491984fd6e8b4b756b97def |
Hashes for cornflakes-3.2.3-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4795732cbbb1a52395a7d33de012533e04a84322d89ab2876eb7b7d2bc0f9ac |
|
MD5 | cfaee4e05dbc84fc3bf44202cfd243ca |
|
BLAKE2b-256 | ce9b98d1c615da8f135beb8f208d8af71d5e94d6714b2f2722757b7a5182bb2d |
Hashes for cornflakes-3.2.3-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce8fa030315a536e18ca3852c079f1d1fa773e22efc721d50922cebdcfb872e2 |
|
MD5 | 183f3d43bd3551e5885e681cd3e74b23 |
|
BLAKE2b-256 | 04c820a86b730faf7d7ebe89a92d2ed6e5ffb6fc58ac686e386c404f48e30838 |
Hashes for cornflakes-3.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 549969316d3c29ca2af7dee9694e869d79bcccf1be648cb1a199bdad629e1ee8 |
|
MD5 | d5011c74b5904b4f37d78237a81869a7 |
|
BLAKE2b-256 | 122328ec4dfba5ce3ae17f1b088df1d2626a67f48aaae4912ad67a6da9c69454 |
Hashes for cornflakes-3.2.3-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d05d4b14836c02a01e854efcdbe63dceeee53407a8fc982bc5a0ece1537cd39 |
|
MD5 | 028146ecbb54f616708297215676c44d |
|
BLAKE2b-256 | 7701cb3d6b86a31b140bf57fe766ff2be480bc1d85ec35c7adf31551a1502a5a |
Hashes for cornflakes-3.2.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c0fc88494816dd39b14f29544e7c8346bb3f470bf6eddff3e090623d20b8063 |
|
MD5 | f0db3783b96739cca12ee87feaf33099 |
|
BLAKE2b-256 | 0bb1599cc54b9720bb0351426173f1bbed40bb5b3f42f8d30af8b4d07303f559 |
Hashes for cornflakes-3.2.3-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9eb19eb1b2a64af252d8d4740a334069088b9c6db1a3dec74571fb479298e55c |
|
MD5 | 2f386e9cac667be78d4c797a71509d48 |
|
BLAKE2b-256 | 9eca293ac4cfbcdb95a45004d3089c46539cbef2ea2c4c141de25f3dac25610d |
Hashes for cornflakes-3.2.3-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd5b25586e5904302a9a28104252ea13a05f1a93a62ee59e98ad37d180bbc4a1 |
|
MD5 | 2c2911728c3d0a5269239572d302f8dd |
|
BLAKE2b-256 | a3a4f022253e1276131945cf0c19723be993162bbed8a39348bb198e8e70f095 |
Hashes for cornflakes-3.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d607f8886227f71c47be6e02f93237bff18ce9f3738238df699d3585f5cc08d4 |
|
MD5 | a0fa44491c9613db239aa1ddcfcbf204 |
|
BLAKE2b-256 | df1a740eeb18a166a111dcfc7b83188cc7f901947b09fd0c5d6b6471804736d1 |
Hashes for cornflakes-3.2.3-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b6f0fdb68542692782d85d4ec47844cd4dbfe24ba306d633e583ac5de31261e |
|
MD5 | aa1c212640c19cae984c31e0d4cfa7b4 |
|
BLAKE2b-256 | 75dbff1e6bbf53aa9136d173987ae6e63bf8814001284b075528fb083fd2c6fc |
Hashes for cornflakes-3.2.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26fed3cee0b0ec6c6bcdd1cc461d444365f7fb7ca280e42884e63a066520957d |
|
MD5 | 9d1e3c17b7f021baf82d4b13e0848aeb |
|
BLAKE2b-256 | 1f673c04445744bbc6490f0831348c04a70af6a580ba256271b0cbee8b6408c5 |
Hashes for cornflakes-3.2.3-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd32b1ca39be29468b4d9f2b71b892cb95087320d919b0e685c17435b30ffe24 |
|
MD5 | ec1b059e53d3a359ab03c60e2b889f90 |
|
BLAKE2b-256 | 6525f0ef8173f1adf6543b26a8022d42d044436ca4bedff334bd396ed4a79904 |
Hashes for cornflakes-3.2.3-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f6496ed615f59b9c133536a6ecd85a607846c7b8ee6fb6c1d3fae76937bd187 |
|
MD5 | 82a777b2b502580a710f7cfad6c9ceab |
|
BLAKE2b-256 | ce602dd1c903a2660308ececaf1c0971033ad84fca230758da1af042de7aa4b3 |
Hashes for cornflakes-3.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a297b295d3a6b5104225d8a68b989e2a94bb2d30eddf8a8cc75dc50cf652e11 |
|
MD5 | 9043b36abfe2458400a12d1962456b8b |
|
BLAKE2b-256 | 19b9d99fd9fa2deb0b90c629013affdd820c0b09a36dec6c0f807624abf4d30a |
Hashes for cornflakes-3.2.3-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d16ec936c159ccff31d583e919ad0fd8aa6474954c9e4a5d7143c1db40c3e57 |
|
MD5 | d67f403565750ceff942a798ab46ca6a |
|
BLAKE2b-256 | eb7f789331edd4d63b4f59f8717a15d153fec598979181190d515289df760e94 |