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.6-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd8a9f4d3dda8c9b3cfb52ca4ee9eb0a559123277a092c5f5b226fccc470a3ba |
|
MD5 | c8cc79323b1ea367bb03f5c1b91543da |
|
BLAKE2b-256 | 0c77f979d4633cab5e69629b30904f09407a0e39b5708be13d471826670ae7d3 |
Hashes for cornflakes-3.1.6-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d836b8cdd0b1ebd6a5104c19da8ed987771edd06c7f2ec4174cb877fbf50195e |
|
MD5 | 7bd283a7c43cde301a1a2c8f1439d4c4 |
|
BLAKE2b-256 | f62a219c88fecb0a390bcbd1c57281698bef33581dea37fb1efa5f2f3e684fba |
Hashes for cornflakes-3.1.6-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 240e41e6683365381ee510628442ebdf61342613328374e11866e23759698242 |
|
MD5 | 3dff0b18e67acf8401bae7812b3ff3cc |
|
BLAKE2b-256 | 0265580203127c5c986b0ba6cd2ac12106acae26b12a56a9d79476d6a7e5a2df |
Hashes for cornflakes-3.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 407a76debfa2d18ace45f0c2dafe324d5939e86220a347f7eeef44ccd46221f9 |
|
MD5 | 54f691f7794f52e924a2a66aa45f88c1 |
|
BLAKE2b-256 | b69ffba906dd0aa9d2700d074bd42bd45222c6c1ec090b0ff9573b199d9e459c |
Hashes for cornflakes-3.1.6-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c3a71ee27ab88311b5964029b78309c6bf727afc617b2927c3827ae8f2df14e |
|
MD5 | 6a0d7dc6a4f9db28335a5abeedbf1085 |
|
BLAKE2b-256 | 90d9297118472baf11712f371a31d5a2cab534a3b73bb90d32b2bf542c6ca96b |
Hashes for cornflakes-3.1.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97f2c17faa278777935a6fd16fbfb8ae9092ef2edf9917b68b18301340bac641 |
|
MD5 | c431645e3b975cbe36fa08c68dd8fb77 |
|
BLAKE2b-256 | 63df48eec8e6701871498e4adad046f4cebfc60ea370b19816287c431af215b1 |
Hashes for cornflakes-3.1.6-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dab8c8db7760f75cbeb27579f50387481eca0a40c1394132135d966791e43fe6 |
|
MD5 | be20affa658131555d5543308749a021 |
|
BLAKE2b-256 | 258bfef650ba539c5e07534549f5e62acd6546542a227fb4fff50449d7e7b8aa |
Hashes for cornflakes-3.1.6-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1331a7729c6e81a5a55a6fa23235deec8894cfc74338b2631e0bd36cc4aec91 |
|
MD5 | caa9136b362b66153c74b12aefce04ab |
|
BLAKE2b-256 | dc3fdd22bc2ec5817009ced5db3d63488bfd8563fda5c249e13153cb2b27d121 |
Hashes for cornflakes-3.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ffea2bfac7cf109573d50157c2a8145fe25b2d85853acb6dc918e87cdb2ccaf |
|
MD5 | 8e43f282d9cb12c39e880efa9a0e37f8 |
|
BLAKE2b-256 | 3bf6ccebaab5ef834944c7ce05f561ab4458b0adc4593575760b2a1c7800453c |
Hashes for cornflakes-3.1.6-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3011c4e6831c88ef7d391c4cb9a8a698e862be4382ea69d048c65b575e7b79f6 |
|
MD5 | be7d20be778c9486e46a2efe5c7751d8 |
|
BLAKE2b-256 | 2cf0467ef534d67cd369b13031d1e583366ae26bce7c9a0d06e99d7829e8c15f |
Hashes for cornflakes-3.1.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90ac89533ca2884022081228581bacaef1db5967c547b744a3d6662dce0f53ed |
|
MD5 | ba36892fd539da8370e916b23854ebef |
|
BLAKE2b-256 | 04945b30fb51a9f95e88a783415f9a1c114cd9f317ea168549f3fb024c7ed620 |
Hashes for cornflakes-3.1.6-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caae1106f2d386ae51d937481f98cb42a70fb3c7f00f2cf42826116ff8f0f32d |
|
MD5 | 7ae703ef6ee3b84e613f81f429ca277c |
|
BLAKE2b-256 | dec1c23d6bf6d9c189a6d00323ef7c0dc658380c2123a57f8a4d736b0f4166ce |
Hashes for cornflakes-3.1.6-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0283d249cfbfea97112e3a4457dd4f65aa3279353d802f1c5ba7a92bc90ccff1 |
|
MD5 | 76b275b5a0b3328e4325cd1f353958eb |
|
BLAKE2b-256 | 816753817727ff3215ed0c7f539a0a82e2d08e9238acf03d1d30443912207420 |
Hashes for cornflakes-3.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ef4e34a95ef7197ac139bfe714822e91fb6eef4625a6bdce33a845fb1fd3c0a |
|
MD5 | c1b17637943401aedbcea9d64aaba7ca |
|
BLAKE2b-256 | 952b453b32dda2c4525ccf758b6f3f605424a1a1c154e604b0ccd5eba350666e |
Hashes for cornflakes-3.1.6-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11fc067bb4748a2642f287a8a2e269c84e11675b01f79d9493c87e72a7364408 |
|
MD5 | 2880b7d9fdcc077e34fab6af6cb11159 |
|
BLAKE2b-256 | 402a7cc07f5188735f1e2f5f91fac5a40cd6db36d6ea9a7a66e9f96dc78e5069 |
Hashes for cornflakes-3.1.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30f7240cf50a4e5afd56a4d0011e58cedd14a1acd8d3959a462b84ec08236069 |
|
MD5 | 34708336508c03437f78ccf074d2269b |
|
BLAKE2b-256 | 4d6e552104ada52e102139e6898469a864101f70c0857f062c6d313a2c958c31 |
Hashes for cornflakes-3.1.6-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efdabd9aeaa9ac3b715282ac2e64f7357a6aadaf927a9c8be49748278a8bff64 |
|
MD5 | ce70ddb79e6d7b5cefaf0fe911e2205a |
|
BLAKE2b-256 | 7c794167ffa8735d7fd9eca6bdd8bda0f0775e355d4635da493992d2d8ba081b |
Hashes for cornflakes-3.1.6-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70fcae3dc2bb8ba8a964a2278de94151457cb3decbe2c3a985e4cb9b3105a7d9 |
|
MD5 | 916b8804313e8f0ffec0df8bc2faaff6 |
|
BLAKE2b-256 | a00ad342768eacb397e85dfd5765b1a29fa27b215d155251822568bc05595b6f |
Hashes for cornflakes-3.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c290ddd7f5869e3903efbea3c53ea7fd35574914ebe858c671d13c9eea0fc4a7 |
|
MD5 | 61d18d40b8b19a53c94e63e02bbc046a |
|
BLAKE2b-256 | 75759bbfb7af411a56f18b9b3f8a94587edc784ca2e413e57993d3f8c797c203 |
Hashes for cornflakes-3.1.6-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e48fb4dcac7c8c124f9a7df08af77ff09d829193c39e58b9e0c625ea54d0a15d |
|
MD5 | 5e6f671f4d454997b4cb2e5d1619e71d |
|
BLAKE2b-256 | 2087e6e5295ce0cf851b3b21d31ab9459f03b55b48c6402db508b16d2ab5277e |