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.8-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81d29195c42d76caad2bcbffde95eb014d41fecec3c0cc38931f8cce1cda759c |
|
MD5 | 5f5e56d2278dc27d46b3cd4e6d4730a7 |
|
BLAKE2b-256 | 0208757b37e6c2cbcb2e523ecdb7cc18c7d432982a83a4d75a7789739f1c4bb4 |
Hashes for cornflakes-3.2.8-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b48d33ea8b586fe41e8df2319c8cb44a45489dbe7194baedce9afd44e9b4ef2 |
|
MD5 | f4865fde9743e1c5b6ebc680199d2e3a |
|
BLAKE2b-256 | 5b03dfd6f4ac0e252a60a5e185b140959df0c95ebd60c9912780e6a11bb2f9ed |
Hashes for cornflakes-3.2.8-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32b0d72d36e271802f7f095ae9ad4e38d84e91228e374c16e899e2b788f351ad |
|
MD5 | 2c8b06691a46b5ea5a7101a23522af45 |
|
BLAKE2b-256 | 6a1931bcfe09cb18a9f0ec07bdc5f946f2733b4e496db7c64eec6ec3de2032c9 |
Hashes for cornflakes-3.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79e4515002e34a8efdaacb4fbc4357b5006f0b956ae40ae4d5cc519c2943d28c |
|
MD5 | a46e82393adabd3e7152f1164c4bbb78 |
|
BLAKE2b-256 | 8a80bdae7f367d9ebfb104131a81b9732a596111eadd3bfc20920f38ac533e0b |
Hashes for cornflakes-3.2.8-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d87320454844446e0a599f1032346a9243295be660aa5f7e120be69e69fd18ae |
|
MD5 | c812067d4bc917aadf42b57e52641f48 |
|
BLAKE2b-256 | 1f230929bf30c2533719962ed5a5eef09cfc0d03b163048fae0662ec767a042b |
Hashes for cornflakes-3.2.8-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6b5b1f3a93382b6ebb613e116398e11b5754d869c6a0253e9134e6659127060 |
|
MD5 | 82963173dee34c74e62f3ce26313fa9f |
|
BLAKE2b-256 | 631a3a6d65193240658a81a521125cb21ff795d0423f7d8e8dc1c94cb081dceb |
Hashes for cornflakes-3.2.8-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d91dc7cd49f9c4aa0b6a31d3a7d35e081b4eca05a55925dc1b923e70be570d41 |
|
MD5 | 5abd5370e16dccdae00bad27922e65e7 |
|
BLAKE2b-256 | 91bf76819f8d8310a7123a18d6ee60c4f8a6c90b0b57bec9b084f855227c6bb3 |
Hashes for cornflakes-3.2.8-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 315e0335b93c337025acb2878ba978b6ac7d55bb224b84a7e4416ab208247a68 |
|
MD5 | 6fadc8c628442b150ed7f8e923465a70 |
|
BLAKE2b-256 | 4b73e30fdcc94c53ecb02edaa608e776283bdef85798a7c4f3f68248b89b6e5d |
Hashes for cornflakes-3.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07218d1defbb3711299ee35c5e0fe0ec4531b9c4fac3350bd41141649df81717 |
|
MD5 | f368e7bbe7c0a0e8f6f65b63ac2f500b |
|
BLAKE2b-256 | 6707b1ab2538792733e74d42e46b865fb18314df1624dce477778eeecb9c7b39 |
Hashes for cornflakes-3.2.8-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98fab9fd3a02f716635f7a44b89f9c6a4d07e1360616b45f7e4f060e8b326a24 |
|
MD5 | 66029ebcb93038ce6b1e3410d8ca3c57 |
|
BLAKE2b-256 | f4c90a60329588ca360cfa3fd6bccef78e0eba65e8a376b3d324cebc81a4a3b4 |
Hashes for cornflakes-3.2.8-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4de329ef15893e5619135f50fa36b62f141a840478c4ede6f69bb73bda52f562 |
|
MD5 | c5d83bcee5d437f8d88b105d3bb3c58a |
|
BLAKE2b-256 | 3485b3064002f1b61a1e36e8caad6617901cf0ec70c8913f7844410bb21ae192 |
Hashes for cornflakes-3.2.8-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7a5beb2964108e448648972ec1ca297512cec0048e4d457a02c263f5ed8050a |
|
MD5 | 84b13f86d3e211f9744ada0cd4b44800 |
|
BLAKE2b-256 | a6eac387b0712a082b20e63b3b347ce79e40d03a410d6cc64863c9069e9bf89e |
Hashes for cornflakes-3.2.8-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3e769d1ce45b34da859472ce3c9b82b17df3c1e20fc8826656b446792faf503 |
|
MD5 | 8e3fa11cc685434681949d6584b7b744 |
|
BLAKE2b-256 | 21e3fcf32645fd25b73978b2efbea0b38dc6e350914c638222aec3afb4bdbcff |
Hashes for cornflakes-3.2.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e47f3ad0c5ed3d8b1dcbd25eaac8077a69ad73c3d90d7e544bab68704c165e4d |
|
MD5 | bccf2a5fddcac33e5ac03544ede2ae41 |
|
BLAKE2b-256 | 3c87af9ef56db71808fae56b985d9d75f3817476604fcb0cd3702a65e72c9fad |
Hashes for cornflakes-3.2.8-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4733875483d28a08c4301c11b7f8060a06aa2b46894d4da86ddc734fe639687f |
|
MD5 | b09d9f4a9cf53bb1e3fb5182d988db9e |
|
BLAKE2b-256 | 92eba6b7548bace2b1c7f266e3a9927664705b5657ad33c093594173d1054561 |
Hashes for cornflakes-3.2.8-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1749db214870f2dea784b1bfbd890cde33b8b8433e5c175b33902b130b25b4b1 |
|
MD5 | 0feb58331b5fd4fcf86e230e099aaf6f |
|
BLAKE2b-256 | 61228b94d070c66fea93c5f444e066a0425ed68acd9d96589642997535de75ce |
Hashes for cornflakes-3.2.8-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcfffcfbf67a4815ff858ec24ddd3af60a5a25877bb751399f919a71b5b69f48 |
|
MD5 | 550906fdffa1fa686e9234e8be7358d5 |
|
BLAKE2b-256 | e035800f47ebaaea4c2927e9d886cf1ad846bd7959103e0c5ee2ad27d8e72f3c |
Hashes for cornflakes-3.2.8-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77bfaa89f4aa71f43d6d9246e77e3effe6bf774aa7fa95ddb710360ba1a383e7 |
|
MD5 | 19eb388451706915811bf53dc8731b0c |
|
BLAKE2b-256 | bdfbd439d738b289b5bf9045733eb2cca24975a5bb77073560c123847f4f4515 |
Hashes for cornflakes-3.2.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dca7445bbf5cbf43d103b6d786ff5d0b794f98e027cb6346f6293758819676c2 |
|
MD5 | 64fa66ba8b7170daf45564e442ae1530 |
|
BLAKE2b-256 | 6129f8a97bd00c4a4ab8b0217fd87780af14ee3529af78d542223e421c9a100e |
Hashes for cornflakes-3.2.8-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d06a9ec41b42b0318c92317a2f6f9c41ab5ae6f5b1c23fd383da8931e381553b |
|
MD5 | bf293d14d2e313b2d59726a381fecca3 |
|
BLAKE2b-256 | 20ec99a031a41f5569acf405d24e918e2a2b278970e5e1cc411d9d00046fd992 |