Create generic any easy 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.0.7-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f03732b1a6700b4d08e7307a11c96f8a593800429723ea231f589c9743283269 |
|
MD5 | 014de8c63285e9af86e6edcea360235c |
|
BLAKE2b-256 | c99135ce86bb86f4ad64c6be29a835f7952caedd0ba0faebf50d36d616cc2ae3 |
Hashes for cornflakes-3.0.7-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9b41103e661bbdea6e58fbf0948107f5954c5d244df7e00dfe7dfb38d55836c |
|
MD5 | 96199fbed2595921667e7df08cb9a93a |
|
BLAKE2b-256 | 2916c614b48a929a608d766efea30a9befb2b261c002869e3c1935ee03562580 |
Hashes for cornflakes-3.0.7-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b883cab1e49cc65f51f15ae3ed29d53abdd84571f6564f9b201c69098b041a95 |
|
MD5 | 646e74659f5d1688de85b5a7966e2790 |
|
BLAKE2b-256 | 4c24468ca36b9865cfb87876ef65c784d43c06d4de464966aefb63bdba918c9e |
Hashes for cornflakes-3.0.7-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3715ad6de24cfc3816ee5871775ef445d2f2aad1cc235ea1aeccd09983ffef9a |
|
MD5 | 5558712b5ceac3d3b7703d6ebaa81fc8 |
|
BLAKE2b-256 | 740cdd93e5258091ea0a43fceadbbc4f68c0683733a8b8b890f86ca9a3716f3f |
Hashes for cornflakes-3.0.7-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e110ad4f81c10003f55810c6570ff0d2d134c0716d852bda7a22c9d5a804bfd |
|
MD5 | f40aebee3f2e05fcdf669d196a15b9e9 |
|
BLAKE2b-256 | 6473a425788d0e451b9a717e0a091672944614138c51483404e68ee7e4498d7f |
Hashes for cornflakes-3.0.7-cp310-cp310-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7556cf3c782a1dcada81593121db508c4485ff1d6a53b0480dbea19d3f9a0ea9 |
|
MD5 | 8a81143e2e1e1665e9bdfac86ba028a7 |
|
BLAKE2b-256 | 40ea9a47ea50b8c5246070202d3a80474ef5881d4f2a02d7875ade20f8fa3d01 |
Hashes for cornflakes-3.0.7-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b43db90aab5cfecca6adcd5c22d7dee3fea25dc221bb2f146b1babd0f652b6c |
|
MD5 | 83597c323dd3874ce43b13e2f6410382 |
|
BLAKE2b-256 | 86a04675bf850bd0fb3fd847a2f845b47b86349ce54b77c788292f80acbb6a41 |
Hashes for cornflakes-3.0.7-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9818e2566decb9e01da0708ec65483e1ae98056123d34ca1b4844926a52f3d5 |
|
MD5 | 4b069042cdd62dfb10199148f21047f7 |
|
BLAKE2b-256 | b2b7bda4c2b672986452c2fc60ad0395dbfbeca0e14af030432c004734022adf |
Hashes for cornflakes-3.0.7-cp39-cp39-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1f19c7cfa8c8401aad95dcb3f3275ec19dc97dc510717076c086ab58a74a247 |
|
MD5 | 49009b0e79f016efbb52544f446e7905 |
|
BLAKE2b-256 | 23325353276a0f177760994b1aebaa05fb2ce17d4e73fa10fe5cf40721796460 |
Hashes for cornflakes-3.0.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e1a5db83b61cecd9ea6cd7051c42c77c886ee17164273d80fa0a4123bf9c089 |
|
MD5 | 44279dad13e93ee1130050507ca7aec3 |
|
BLAKE2b-256 | 8e8083528abe620e3e15a53aa3707ce7aea6e0ba2c7579677e009ab1d14d20b9 |
Hashes for cornflakes-3.0.7-cp38-cp38-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e26515a4f999b7a1ba507d0874822bdd89527d4602249012993e5c23b77b26da |
|
MD5 | 5be2de62a144c540948b9157bac7a5b6 |
|
BLAKE2b-256 | b5ea7bf4f62f05a3f1f4c8974e7bb4443c8c72946104b63fa87282c2004286a1 |
Hashes for cornflakes-3.0.7-cp38-cp38-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f2e3833e117ef2704bb83c0a31e9df6f92050bc9cb8925b1dcfe59acf81be24 |
|
MD5 | c65ccaea3e16872de084d5a8cb0c364a |
|
BLAKE2b-256 | 6a072f2d1b3474d703363c78bf24541ff7d79ccfe40e36b9883d114abd26ab40 |