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.3-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8ae30e2d12e7337a4fd70eed416701e82f12581a43f37b5f38c1293636f4f61 |
|
MD5 | 37593ebffe0d16e178306055408e77e5 |
|
BLAKE2b-256 | 89264821c6c73c9d571abf427c4353536a494fd8f82b17f84be7003e11f8b524 |
Hashes for cornflakes-3.3.3-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9220253776bdc351b41bbcd38f199d36a1bcb53ecc53a2e5fd5ec7d4d3087804 |
|
MD5 | eee91348756d43a81f679e0110dafbb3 |
|
BLAKE2b-256 | 35f67d023e0bc5d9e821266c6f55cffc2746c5a0a30a49ff3eb5781dcc089f3d |
Hashes for cornflakes-3.3.3-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bed254106a124a7ab44f721a5bde5dfb77f0c5cd4e10748b8947593b4b18f7e |
|
MD5 | 723e7dbb7347a022f47ef7e80907a877 |
|
BLAKE2b-256 | 50f125bfde20ef38726a531c98ea74799f31ee05915faf40d337c0699a634041 |
Hashes for cornflakes-3.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cf003f84de299fc9fb134d5d40dde4101d4026c593e8b01282f4603cdbbe8c4 |
|
MD5 | ebb2f13653efb4ce49a7832a53ab2eb2 |
|
BLAKE2b-256 | 4082b4ddbaeabd9e4eb3878975d1af0bf5740e5afa182e41c08cbe00f2523410 |
Hashes for cornflakes-3.3.3-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31ce373bb7b2d3c2d4ff9526bd3f498adcac74d1398d087b45fef0938bd3a5ce |
|
MD5 | 071686823b132f349e3d8c7cf8f485ee |
|
BLAKE2b-256 | b735b11d3b7d27ed4f594e10b02a3a625f36d8d0f039ef19fd5e522621b6b009 |
Hashes for cornflakes-3.3.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 758de1f728a96ed7f83655b4ea27bb300d7ce635cd62a455e16148d6cd181cd2 |
|
MD5 | ad6a51b2ad5c21123b81749d3bc9f414 |
|
BLAKE2b-256 | 26e2d0345755379c03e29198edf6c8351fa57fc96d67500cc7a3200f55267c32 |
Hashes for cornflakes-3.3.3-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49c0bfa9128b417563ac1dc0c2dd1d2a3038408d2b2e2752734f50a5aad6086a |
|
MD5 | f71ca968ac2567af85b4679650dae037 |
|
BLAKE2b-256 | ec738afe0e56c886dae5af465ef3b9ba3234c92dd5ce0d0bdc265f2cedf49823 |
Hashes for cornflakes-3.3.3-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d335f97431474761be30093faaefe67581aa1ef02b9844b635cde5753ceb0530 |
|
MD5 | 092777043877e9f6cb1be3a65da0fe03 |
|
BLAKE2b-256 | a77b27660eb97c5d13c42e967f8825e06c7544882a423fefc85879d7c69d526f |
Hashes for cornflakes-3.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8dc0f51dba27b9993184cdd4cac4c929622bf3b9d49275141977386715c3c0f |
|
MD5 | 43c65f0e4011311204aac7d0167b82dd |
|
BLAKE2b-256 | aad63d2a4e1d15de3198d7e58dc38db16de27b96018dde393c017b8b38fc9e3c |
Hashes for cornflakes-3.3.3-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d92370f8b919315a3f5d1c54c8f02c3a81521727278f7fcf84c7173f79303d83 |
|
MD5 | 121b55bb785fcc3da71be364465ea997 |
|
BLAKE2b-256 | 73f8242f2f75bc04e3f39a313cdfefa2c22794f4df21d3054b23cc206ee12449 |
Hashes for cornflakes-3.3.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06fe0e8a98d929ec5e95663f7354a813579b445b6c62d46bb0d95f5b1eaca245 |
|
MD5 | 93a00e0803e1c2d13869ccd97a47b9a3 |
|
BLAKE2b-256 | e8c407e20e36da0da9dff92a1d5b91ef757389b6f7e322287446b15b69fb5311 |
Hashes for cornflakes-3.3.3-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3fae9df25a8ed7a774386533e9473e48ed9de602c30afeb707efbcb81619d93 |
|
MD5 | f0fdf4ef0a1af9da30efacf5991e8810 |
|
BLAKE2b-256 | 691ad030cd7e11bccf8620c7ad3cadda132c3b1e575b7b8c39a69429a192e698 |
Hashes for cornflakes-3.3.3-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a585046b8321aa0dfb7bae1e3ce1a1efcc903256bc77983b444ad7bab668ec4 |
|
MD5 | 909b5bcf693a0203e39e259ad136f575 |
|
BLAKE2b-256 | d3a6a072b37e22f0ad051be2742191af0aa0719442417b3d258755e625a2bc09 |
Hashes for cornflakes-3.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cc9a8e8b786bf53db38dc1adaa5175484b31e1a4a89cf51cc266705212c8f6a |
|
MD5 | 861f6ea7f8fe991c534d0ca1cd0f5c1e |
|
BLAKE2b-256 | 4bf116ae51e303c97f9e4692488fcddd5615e331079f2793af24f72f1d86e8c1 |
Hashes for cornflakes-3.3.3-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3bb985376a7dad5d2260923dad1b257aa97221a2d00dcacdb956b259d944b08 |
|
MD5 | 65cbc269a27057cee4fd855e9546d351 |
|
BLAKE2b-256 | 9e06d9fc9f78b5f25b1dad57a6297fa8d89e8d02645f524bdccf451ed61a451a |
Hashes for cornflakes-3.3.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d94b00539bb7a2fff41e8674a3b362145ba49bc2a9339f024fb3568a4063c71 |
|
MD5 | cea5b09cbf747c0630241a9afb569979 |
|
BLAKE2b-256 | 2160adb52e63a76b48f32d20384d13e9cdfd11c17c9d00a7546a9351b060efe1 |
Hashes for cornflakes-3.3.3-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9949a8ab5c6c5b7a29d85611cbfc9dfdb464e1aed2003b09251110cf790b118e |
|
MD5 | 6cf1014e45d14852cf911ca794bd8237 |
|
BLAKE2b-256 | ac732310ce2f1bb730730f463ea63c2bb827abc78aa0b8efae8fc299a9fb9a00 |
Hashes for cornflakes-3.3.3-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83180056c6dbf2837f8c49a1237f8ae2494fe1c3bd3d7cdc53d4c7ffdf111169 |
|
MD5 | 6d7049b8e0b25d4b1a438611dd22878d |
|
BLAKE2b-256 | 78d0c2146e7e7285711124e2cb04c90e1eb25ab1bcd7cf5b861576935ad6b3cf |
Hashes for cornflakes-3.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4f8f82313ed400c7206a72098a3920de70cb6aa07af8423ba9b586b0bca40c2 |
|
MD5 | 622053a9a0de54d84bee4f55ab66d5d5 |
|
BLAKE2b-256 | e0968fc7ef395274ad115851a432abb273efdbba752273dd58e9e1c640b13ff9 |
Hashes for cornflakes-3.3.3-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8511a121a80f3e965911bfe7e46f0d1deb7b1a96deded00c51f10aae12ce643d |
|
MD5 | ff46fe656f7ed5ac284c1d916a128390 |
|
BLAKE2b-256 | 79f8d61f227cc57511f9dd7a09192520a5a9b1b3445fe31e67dab1993dc8c3fa |