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
Short Term RoadMap:
Enrich json methods
Fix / Test the to_<file-format> Methods
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.3.4-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b25bfeffd875903f49c96f834b68a8efa8d63b9ae3f4af1f8da2351bd7b76b2 |
|
MD5 | 009fc5743089923566a5d1c184372323 |
|
BLAKE2b-256 | 7764acedc8c8c8d36a69ac94b225ee94ea0facbdcd8bedce771b00a35efcb0f5 |
Hashes for cornflakes-3.3.4-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdc66d384d50782ade7fa8291b78e9752d9c4b6e2377231d91ae636bb7c10d27 |
|
MD5 | e2d275cb35910ccc0e22e138d4ac23da |
|
BLAKE2b-256 | 2ab2b9805dfc69620cde48cd5cf113b0b24b3cd2703d34bd9d919aa75e527755 |
Hashes for cornflakes-3.3.4-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a1d54a230d722e567cc55a5753c349df4fab08910433b88b9487ec9d2ddd295 |
|
MD5 | 4dfb3d5637f3afaa18edfc42262e1142 |
|
BLAKE2b-256 | b458063f8e42701d540ce91fe5807989bd0522c76256de06a4751f8c3601c3b9 |
Hashes for cornflakes-3.3.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e68e4376da456067b273d3ab0c8ccd0d87b7ef3da53e185364693b7ffc390b1 |
|
MD5 | 3cf937b3435d468c51c4c1c9256f1674 |
|
BLAKE2b-256 | d63d132928332201b6abd2ca673168e2540dd5cdca573166a20aca4d85a3893e |
Hashes for cornflakes-3.3.4-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccdc3418d09f8352e62049f6296118bf225a62acf4896519a59fdc7c9466520c |
|
MD5 | 3b38686385f312772205f5ae80b78522 |
|
BLAKE2b-256 | f941551d0dd85cd619ba5f8812cab9c2ffba919dc9673715a8c898497fa47b43 |
Hashes for cornflakes-3.3.4-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74c12efd83d7ece98b5ef8294faba57949e230a7862026fbd7f34ddc8ff0d741 |
|
MD5 | 3a982f995ff9af8de9e3bb2d17fc4e99 |
|
BLAKE2b-256 | fd811fff39b459759da682ca195734a979f6ea8054bd4c86b66df03576b26816 |
Hashes for cornflakes-3.3.4-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 895422a617a1c91f69639b7e6b8d8fafe61c3d2d56edbb322dae7b68293ed744 |
|
MD5 | e2b37d626d2c5c9559d5b6f90984bcd6 |
|
BLAKE2b-256 | ce78c4072e81b509121b1fa7fe64b7e9e5809803d1fc7998dfc8c08aedc20193 |
Hashes for cornflakes-3.3.4-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc329485f57d6c3dd9808df8d6650212b7e4d8cc3c5f2bfaee04c5ea174e7753 |
|
MD5 | fb0d0227e595ce3ae56cf21cc39c27d5 |
|
BLAKE2b-256 | eb36ea883ca1ce70eda050410e368876741014e2944868b95b7c2d9d1867869d |
Hashes for cornflakes-3.3.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbd89f0e472b15f511352732b23f002205afceda45182146b4e52f729f8d0a3d |
|
MD5 | 1a27f457855ee78b6961814fa33fe0c5 |
|
BLAKE2b-256 | b7780bbfb3a79982bffb81a973117d71181582afb3ae092cfe3939f48b513c1b |
Hashes for cornflakes-3.3.4-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 438593b7abf323de464b3ba410765c92eca337b6a3d89ff2a994b07b07eb342c |
|
MD5 | 4855c2bf2805dba9cd42231d5970d737 |
|
BLAKE2b-256 | 0e8e81690b09a99a902ee5ca3ad6fdb20a1110ed7a4198537898147de8f0fe93 |
Hashes for cornflakes-3.3.4-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96baab11edcf60d7c6dcfba2d0b961592e17450f9a8a1bd731ad691bfee3f981 |
|
MD5 | b4736001624a77c1c4698b882bf629e4 |
|
BLAKE2b-256 | 3381e4e71f12beb7c492a29a4a732cbef33e64144c038bf0ca278deff745d9f4 |
Hashes for cornflakes-3.3.4-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f4ca46317be4b5da382e556a5b72c910ae24588ac0d7da7f10a00d7f8c4fe95 |
|
MD5 | 7f1dcf18fafcd5bd8b4d998ccb1d27ec |
|
BLAKE2b-256 | bd27f7d4f278b86a6dab2b02ceb825792be9f0dcda5e2884deccd63ef5ff0bcf |
Hashes for cornflakes-3.3.4-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac859ad28bd209ea533e1b5f379b38ba79a3d46bbdc3f516b43d2cd6eb62b21e |
|
MD5 | 5ab3e641d2916650a865340e0a589477 |
|
BLAKE2b-256 | cff95aacda0e445eb627d544034826bdb2ba1921bc78abc1213d34c1dde4908d |
Hashes for cornflakes-3.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 289df01d1f39887a99c498a2921ee2b4468f3f2773d4ff670326588f5c234ade |
|
MD5 | 74407e8b55903141d07f59b6d6145104 |
|
BLAKE2b-256 | a7c7a18e254d150047ed52b8b5ac25907bbb871fe6d6e725d6c03b145b8112b3 |
Hashes for cornflakes-3.3.4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b316215957d0011090204d78e4bde21149fd67b02375070a1b2b84ce9feb1cae |
|
MD5 | fbbddd039bc3dead71bc75dd98a222ac |
|
BLAKE2b-256 | b578724d351a4b6ea858284809d08c67c3f6ecb5956d57a32df0c4c3749a4fac |
Hashes for cornflakes-3.3.4-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad009c0326b790de7bcd63bedefec292e187e10b2569d693e8d1cda950867fb6 |
|
MD5 | 72545422dd8b65d4fbcedab535202fdf |
|
BLAKE2b-256 | 2e6dbac5c8aa535ca3c69f8c7ce423f763a757f8ea6416ece34d7e0cf81e5b2a |
Hashes for cornflakes-3.3.4-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cd655259f3e715fdf2575a9e45235dac5b0f54fe77972ca688037dd3f89687f |
|
MD5 | 60533d2a6108937192b6d52e2b4a2990 |
|
BLAKE2b-256 | 86951e768fec933ae84c1d69e42a26c00bf406d42898f7cc9cf1dba91e77c957 |
Hashes for cornflakes-3.3.4-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d353385395295a6b3e06c28c84c14e79d28e283b5db7352886722353a5bb82e |
|
MD5 | 762ce1f1345a7c3abf3a9cc3772b29a5 |
|
BLAKE2b-256 | be23e50e7a491ced5cb986d8a91163fac76e7145595e3da73ece1803643be191 |
Hashes for cornflakes-3.3.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2283780394789afa87ed746aafddd4cb7f4edd80e9e35f06bc244156c9ddcf1d |
|
MD5 | 508977b48ac6fb09ec49a5a2f5de703d |
|
BLAKE2b-256 | d0d895f7fada3a82144a67e25ed18f0ee7b8fe3c2ec9524b9b2a185058b3f672 |
Hashes for cornflakes-3.3.4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24b8ec07b92da105b42b9d6357071b290691cfeda546ee244a06e515a7180da0 |
|
MD5 | 900daa431b511117479c895eee023aea |
|
BLAKE2b-256 | 129f98ba53884dd3536c9499967869c48ece43c441ea2e6457906b4b77abdaea |