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.8-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21da9daac3a46ff494bcfe7f9409a3507c994fd40dae42178d6713c1dc5df20b |
|
MD5 | ed43d62552922cb56807f1eaf3318d39 |
|
BLAKE2b-256 | 4de9de219b4ca678073ff0cdefe323e568a1fa4d78838edb993d3823e77ede33 |
Hashes for cornflakes-3.1.8-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce5d8ea6709f29eb4882aa168754fff2d241b2617a574ded6be311b24b8cafe4 |
|
MD5 | 0308dabd494d4c22dc3a778125aa8b6a |
|
BLAKE2b-256 | ac6c42dfad45b2fb219ab73bf01100df1a2857f4d0046f21301be2aa593eb6ab |
Hashes for cornflakes-3.1.8-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79ebbcdefc0ea26e1fd09c85b61686ff0a32351b3bde1830567bb461e1661823 |
|
MD5 | 221c6e268a15547619b7bb41ed3c19d1 |
|
BLAKE2b-256 | efd8c7e433b98493395514de0b2713379f1912e1d7b87cac161e6755574da61d |
Hashes for cornflakes-3.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e2d2daf8201d535f9a1ea7aa08e28c8644a2775e253fc9ed90faf3f8c2a4b4a |
|
MD5 | 59301e0b7d9eb8c4e326913053639108 |
|
BLAKE2b-256 | 07cb43302417c4a8b1aa92d425696fe496b20c72df886bdb4603355543c2a478 |
Hashes for cornflakes-3.1.8-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c76cc2ac693b12be102976d8b91aaac4f94bc1293b1e58b3397637bc7f91118 |
|
MD5 | 6176c4b44165d53563f9915b9591a391 |
|
BLAKE2b-256 | 35773de234080ebdcd85d09ae6b13c649d7ba946cc44ebf06f8be72982fcd1ff |
Hashes for cornflakes-3.1.8-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f62c6d6513c4284e50a2a3ce10e7e65d51eefb44f7d3aff2c2959bd0204e427 |
|
MD5 | 8b0e4fd6ce0a24cfadc9a0bca2947564 |
|
BLAKE2b-256 | ae3d82262c84d800faafe4b3beaaefbef0d218804465020bac8f42af3f4c170c |
Hashes for cornflakes-3.1.8-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3b4bfa6b62767d6b2207fb4efd029924487364b2dbf09ce9d3af40aaf936153 |
|
MD5 | 8a0584bcf8cf0465413b484e967d9955 |
|
BLAKE2b-256 | b7cc87a85559b054292cd243bfe0c6bbd20cbb826d52903d37e3a3a8efee6619 |
Hashes for cornflakes-3.1.8-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35c4a3ada87056786d76bb096900d216df6786bb9d8cdf8e491cc88fad4edcca |
|
MD5 | 5a255a41d968725cc8bfe60b017f256d |
|
BLAKE2b-256 | f25046896222bff46f34556bfb8b21b36500fbb6ca0a33a9420aebb4b682978e |
Hashes for cornflakes-3.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 449bb89ce748fbb839cfebf87bf5d45b9653d7620d050bc7d56ff9866d22872e |
|
MD5 | f819047fc04dec803e7ba36e76d262a9 |
|
BLAKE2b-256 | 0881077d5af810adb68eabb762a0c5a198442aecc19f1fe307517e2a35daaf3e |
Hashes for cornflakes-3.1.8-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd8243a7e2de80efbc2f2905622f83f44ebab6f9bbecd1ca93138fc21e2aadbb |
|
MD5 | 71627420010eddbc34ad39ddd128a586 |
|
BLAKE2b-256 | 6fe31f59bf5635e5bc9180d9843c4f4ac75785be3e6c471ca8a52d7d17d54dc0 |
Hashes for cornflakes-3.1.8-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cf397ab291c48daec05b476af71c1b9e452abdd416674943bffc62ebbe2de41 |
|
MD5 | 97da363b5e52ce26c79a3de70254cd4e |
|
BLAKE2b-256 | 7bad7ad1eb35511465b549cb5adfe3f86b68d902b4f760dcb1b158963442b135 |
Hashes for cornflakes-3.1.8-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a29d832ca2e2de9ad3e1e3e49a30761821dc62572db0cb9b698d12f89695a2e |
|
MD5 | 79afe3cb5e4cdb152089cf592450f790 |
|
BLAKE2b-256 | 4f1401af39e6c10e9efa5f902357283f26130b33696537b8691a720889c62ab2 |
Hashes for cornflakes-3.1.8-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e60771df7a0f0bc0c2b7986f0302532739e14cad2c0c2d16cf0da4c956cf326 |
|
MD5 | 53a7cd5b23721fa9e7bdb85577e7d017 |
|
BLAKE2b-256 | 481db41df1e5bbc9892a938fc1f733c4dd309b5576344c0813f5d70dbc776dd2 |
Hashes for cornflakes-3.1.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5889820cecff0467e8701403e7a939bbd8060cc1dff96b76a04080261e0c1905 |
|
MD5 | 8de0fd2c11ee8a3916bba65b7fe3992b |
|
BLAKE2b-256 | f96871131221eaa880da81cf16d07dfb5c54d79106c1cf22bc01283354fa3660 |
Hashes for cornflakes-3.1.8-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02dc4c3dde2c24bb84cddad019f590f6a5eb598f59d2ffc48eddeff667bd332e |
|
MD5 | a9fee38632dd5f85c4f0699380ec7955 |
|
BLAKE2b-256 | 9e37b9c69c51f5e9992a440dc4e8acec06643bf739af649b63441afdb620dd08 |
Hashes for cornflakes-3.1.8-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 884a97eccff39388246297849346dc1c24ae9fea4c8184730456da04c0e68487 |
|
MD5 | 0798b3b369b0b9cd03a49e2a76681e61 |
|
BLAKE2b-256 | 7cbcad4fef05e8ffadec4b6c0bc6ff2bc1ebded51e8bc1a64ed498c986add44b |
Hashes for cornflakes-3.1.8-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8e98936b7f72a48dc7f24e319f2b4b8fd0223b218e10cd45657f37d2393bc47 |
|
MD5 | 731aee045e029502463a12d8f7336879 |
|
BLAKE2b-256 | 167c976fab63319499aba956f41f9785bac65d06d53bb5d7e65bafc4b92a6b6c |
Hashes for cornflakes-3.1.8-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bebd06bc189b23c59f4f365e74ec679a3d4bc6278a3ae943b6f5c529e61c1de |
|
MD5 | 7c4fc195e8d6ea6efd2f66a6da9def72 |
|
BLAKE2b-256 | c19ad3f0143cab85b8a5fe5a6f35d73f193f7411b019b4cf567b1dc5f8768690 |
Hashes for cornflakes-3.1.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33d026dbaa9c42577846cb6c22bf4ef99bfd2d08cbc86943a9bed0f70135a0a5 |
|
MD5 | 014c17d21edfb94644cd0ad1c06cba6b |
|
BLAKE2b-256 | deab1e6baa13536612fe510c54e2b9fe600b190720370fa31247743145809876 |
Hashes for cornflakes-3.1.8-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08dfddc9a7c301d395454fda2a47caeab8415fc78a25c58821b5225a006314b1 |
|
MD5 | 3c45d4fbcf5e57d2d2358af43df5e230 |
|
BLAKE2b-256 | 264d278532d31e329c8687d2cc257c3559c6ec581beabbb3ee61484aee336e34 |