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.6-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d6b967c78b7b2929a2ef52f5683daea7a5a5a62f2e15363cca4bd7f376bfd03 |
|
MD5 | cc9a8fcfa9a8f398b73600b635b38a9c |
|
BLAKE2b-256 | c1669b79d686bec1e272dac6da7cb4e5ad0894abf3d9098aff81352e5a29299a |
Hashes for cornflakes-3.2.6-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7a12ea0bf92f8f665d2706496e1d5cf6749ad6a7306190a9e1a1eba09b37246 |
|
MD5 | 9f53c91d0b66d43304897fa7b3856f51 |
|
BLAKE2b-256 | 13c39fe60d2064163dc1b3c9bec91e73611c5d6ee6f5d608c7ab7d2acc0d6c88 |
Hashes for cornflakes-3.2.6-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81c74886cfd9e6f6355501a9687dbcaca91a3f1e95d2b4a1fe759d6dcff8cad3 |
|
MD5 | bf3c2941d3a37761efb4083337da9801 |
|
BLAKE2b-256 | 9d811ea3e28145884d8836988bd217ee4f4da45cc082e9b2b70211e0eec68641 |
Hashes for cornflakes-3.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c15c3158d03f2dcbec05ee5bec9d8211e7bbbb2f596f503b5aeee1397f2f104b |
|
MD5 | df6aa751617ce094d7d25620c873c7b7 |
|
BLAKE2b-256 | b081ca1b04d2b2beee59293641732af105680690ffeabe4f3ed6ae620d472722 |
Hashes for cornflakes-3.2.6-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfcd12afdaf68d78974a94f3a3d3dc59230c8ab739cfb250859be7da3d48e249 |
|
MD5 | 4823fc3c8a6be49bb86c84f06f114822 |
|
BLAKE2b-256 | d2090b60afdda3595012826119a8aeaa05e9e98113ba1987147fbac7f55c0b61 |
Hashes for cornflakes-3.2.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfb1033510e77b53997427f9a973c3a887896f8cb6f4d1c52ddcd3d636f52ba5 |
|
MD5 | c70bf93cb4d83ca68e875c44d8ab957f |
|
BLAKE2b-256 | 1c04deb64fc91c6652ea98cf1ad348aceab95c619a1e15bb91bac9eddfe4c12a |
Hashes for cornflakes-3.2.6-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 355f720b50f245f43959806abebcf807e7fbc69eb672560df797ba0905a38bc5 |
|
MD5 | 58689fd875471e603350ba831ea990be |
|
BLAKE2b-256 | dbc52755cfa889ef485aabb5698c8b9144ce8eb4631593dac910edd14c289268 |
Hashes for cornflakes-3.2.6-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ba950104d32044262c5d3282a8d1eee9e815df741b354f1ef0a60a7da71341e |
|
MD5 | d76bb076fbb432b1f45b010cad09b906 |
|
BLAKE2b-256 | 2b2cc4ba52e78bb6841584f26b7127ae0b33973be417ddeccd5569a7d7f43377 |
Hashes for cornflakes-3.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50fc09b2cf6620a86807688b994a76bd3cd775473226c03123b80644b5b83e1a |
|
MD5 | b87bbf5bbfeb478d9b71fb790886cd45 |
|
BLAKE2b-256 | 0126a4f00d1b7d2b198ff9b2fd7723167d9edc4aa9bf2617140fdaad17566696 |
Hashes for cornflakes-3.2.6-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3dca1f7682087e82059088236e4f5cf8ffb36ef1b97621d3a7bf3672ac570dd |
|
MD5 | 41b97d33f2fe19465333779bf803a858 |
|
BLAKE2b-256 | 4021e7cf28cdad037d67eb86bcaf4a7fb3792fc716d5e3ab1e608eb4c8dcadfd |
Hashes for cornflakes-3.2.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7e2ead64ffda6af5a72640a126707602599a2571607a99cc1a2409f49fc412b |
|
MD5 | 26c1902ec0ba74320abb73ddc10373cb |
|
BLAKE2b-256 | c2800c7c9a8c086b4f52b25bfe268fca9280913be408bbaf248b1dc4dd35a119 |
Hashes for cornflakes-3.2.6-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84329ff311c7bb9bf55c9fc8c8fbe867fe14d90c091f0f0893035fdbda8d1c02 |
|
MD5 | d43d639e7df34e0cd1dfa5a8d2f4547f |
|
BLAKE2b-256 | 01238f321566e55cbb9fc37aad6eec25cd1bd3974586bead4472e275ea51976f |
Hashes for cornflakes-3.2.6-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f561110b65572f65c44aee242e5a6573de0f6aee011b2d06f3a2970ca83b65a |
|
MD5 | cf7716827d293c3541c13d8a341d44fa |
|
BLAKE2b-256 | 072b1884c6355b6b87374786791ab92fb9b01e94297a4eac8e63fcfde7f9d7b4 |
Hashes for cornflakes-3.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c94d7e189b4dcbe3fe2f21aa1d9c8978e700010d532cf3bdc820540f4ccd18c |
|
MD5 | 3c9592219f6301677a1963f8818612be |
|
BLAKE2b-256 | 79f52683f7187522c7619b6b9cda0d53b31ab8816a2790e43123641ec1773aa2 |
Hashes for cornflakes-3.2.6-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8263bb445b76c3c1b97caa3838409deb3c3e1956cf4de2e5811f5aea8d2f3749 |
|
MD5 | af4aec1816cd934847e902cc6528a895 |
|
BLAKE2b-256 | 8492a7ac6c81827012834c9435f4542615dbc318ee8c3118671b537ecc525538 |
Hashes for cornflakes-3.2.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe90aa52792f53fd754d97d142244ef6d60ce9529df4a813fcc3f1de7122103b |
|
MD5 | 2973bda110c353f811c7b1242932909e |
|
BLAKE2b-256 | 2065029835645faf6a9d0eb8715f2502fa93369a024ad967acf27df5940031ce |
Hashes for cornflakes-3.2.6-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 532393af9134314426b16e0d60538f1fe5c32167810680bab9f38e874399484d |
|
MD5 | 7399ab02646c9723ba9dbadc7ac365e8 |
|
BLAKE2b-256 | d9ab737fa66ef1cf41dbbe2112649567131694de648eef7405c03a84d71f7e1d |
Hashes for cornflakes-3.2.6-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 578bccb9c405a1c0860b2d85d9ec55698a5d9bf89c34616c8c157def09c773d6 |
|
MD5 | 252332a42f10f240463eebd21366c32c |
|
BLAKE2b-256 | 60b951eb50aa438937360b1c3501345dafffe16623d226644d06c586b9268530 |
Hashes for cornflakes-3.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3482884f081981b8a8bde78741168553b5f6ad3e3971f3db5d9c243ca3cc2515 |
|
MD5 | 33d1824f4b64a7679dbed9a5de3304d1 |
|
BLAKE2b-256 | 941f9920ddb15530d5ee56596734ae7544334257c7c4d603bc34002646d69f28 |
Hashes for cornflakes-3.2.6-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e59aab366ca454c1d68d8ddfde25c22bd240f67468d8544a66c452ace3e300c |
|
MD5 | d2e177630946b300ac3bd0b19a8750d8 |
|
BLAKE2b-256 | a3aa3d2f7c3231f9f02f5e3b14c1ccb7139517d4e15d80c99cf7274babcb4851 |