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.6-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91aa2c889c6727c3a390025a102ebb670ccdd4b5d9725e22a0ddea8e9d821a3b |
|
MD5 | 22fc19688ecfab63d1c1317b5bdaaa05 |
|
BLAKE2b-256 | 6afae895c568c7883d51187c26e92b867dc921ddea02f71eb8eca5d21bbbf834 |
Hashes for cornflakes-3.0.6-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c2ff91fadee2061d039c68e0bfb936f838fa975824559af517f0ad354e56176 |
|
MD5 | 3ab8442f31180c7bfb3243a83dc0af9e |
|
BLAKE2b-256 | 9c9ab71ddc37851fe691d2852efc343f19299b02c8d7ce202552fcbc99714440 |
Hashes for cornflakes-3.0.6-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bfb131516469facf50527793c70a8ec9fd6bf879aa12c2106df7b3b6cd978cb |
|
MD5 | aba3f064b74da610c4bec1c898bda92c |
|
BLAKE2b-256 | 73a3fb897aa08da1a0b651dd29cfc79a58a01004b5d6051d5aca5dc81c716a70 |
Hashes for cornflakes-3.0.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fe7a69d41fb47d765ee346f8ac2fc175021c470949e47935ec27feb2f3a6dc3 |
|
MD5 | 22673bc274f0d9803f3774c3a0763ee8 |
|
BLAKE2b-256 | c5a169f02a120b582415a69a3c7fe65105dcf68094eefec38d597662d6dfa481 |
Hashes for cornflakes-3.0.6-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74bdf0493f62238054accd4c223f2bd1fd064cf180bf88b45008e2e0f914f225 |
|
MD5 | 566895962add3f16fd8a8d2c17dbac9c |
|
BLAKE2b-256 | edb214c4efd0468349bd087f7867c9cc58eca8fd820feaa0860f2aaf6fd0bc9e |
Hashes for cornflakes-3.0.6-cp310-cp310-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be3afcdb501b08c1407d3878671eb8e3f38817377407fafdac2dc56676ae88b5 |
|
MD5 | b62328a319bcf1753753a13488f2ef64 |
|
BLAKE2b-256 | 67c88b1017dbe9a04ff6d48324bd606b5ec197258bd776479a8b9a3090803983 |
Hashes for cornflakes-3.0.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41b85fa011b1caf227aa4efbf48e866b7dfbbb65afba8da04df4a4f2e2d77e36 |
|
MD5 | 3a3dfd13e2cb3e71ae1d42d8dc521764 |
|
BLAKE2b-256 | 0878488a520845ff4712e57d5a300a020d526c68826384b3fa3061175aaf956d |
Hashes for cornflakes-3.0.6-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19cf6c2e4e21ebbb0868273d07e5bc2d01da596d6c1362abf57fc064eae1c653 |
|
MD5 | 65a7b5b10b3cee0f351ad3c2ccb3844e |
|
BLAKE2b-256 | e2cef37e0ad81876921b7cf861c83b35f71eb86d25f4d656543724858286d35e |
Hashes for cornflakes-3.0.6-cp39-cp39-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 959836aff8d841a7fd6b9716f3e4dfe2d2ac5934878d1efc5bb67d619182661c |
|
MD5 | e9bf900ddc070ceb0b2f53019f8bc229 |
|
BLAKE2b-256 | 38ba66800acaa45da367bcb150801950aeca88899972874b5d0aa3dd4d6c2e5b |
Hashes for cornflakes-3.0.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 045ef6be9852dbf7d91b885bda6a352d6f4970ad252c17c21f1786f2fe155d22 |
|
MD5 | 8d27e63463e35d2bc020707fe4e566ec |
|
BLAKE2b-256 | 7e13e433f3483d3e0ba70b87fd3418b2dc64074bd53c4d66ac75a284dd719fdc |
Hashes for cornflakes-3.0.6-cp38-cp38-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5e121badd215671ee1b90679b2f6cdf1ecf8e94442cf56e0219edf77c737d49 |
|
MD5 | f4bfb4c4a0d66da0e6cfb50b26040217 |
|
BLAKE2b-256 | c6eb8ed712cecb9e299e872925147f51b5fc4c7a3d90948e10b11253e9f4a72f |
Hashes for cornflakes-3.0.6-cp38-cp38-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b89680fb6b96d4cfcbb4e1ed64154a91aed67a6fda06019ef7b45a9eb69be71 |
|
MD5 | 4a6ba7c835d200a5d0cc66487837ae95 |
|
BLAKE2b-256 | 0834649f57fe3612b1087e59ad55c663e74e57aef83671bfa3c12912290fcb5b |