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.5-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 100e90e9ce0c847ae991583a4b2f941d01fdefc692583016aba2ce436d971c6c |
|
MD5 | 98fb5cf7bb04e576dd6f461ee8d1e9d2 |
|
BLAKE2b-256 | 7e28e0e9726337fa6b5be786cd22348926066d9a1c02c16104a8cfb5f7b204f7 |
Hashes for cornflakes-3.0.5-cp311-cp311-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e6d56bab0e9a9352810055059bf1afd96eb229c5c5bfc80bff0f43b371483e0 |
|
MD5 | e48ecedec8e0bd9847bbef14a50aea53 |
|
BLAKE2b-256 | 389bf053e4b2afd46d816155e31555db5e5fe23d0c904181759ae40e3662a651 |
Hashes for cornflakes-3.0.5-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67dca73a6065617892a538dabaed978229c2942fcc3b5408dca2f6c899c0ee02 |
|
MD5 | b7fbeb288c91cfc7ba637cb2a118c520 |
|
BLAKE2b-256 | fa4f1eda1040fb2c06ed8e3b2c93ec9cd6c29972bb76358c4efbe40ca0ec00c4 |
Hashes for cornflakes-3.0.5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7ae57f54eff839aa91061dfe311cc74f14ca646d4668e7d02040066181e6311 |
|
MD5 | b8907f8f40b62c7e040b7a65c8e1039a |
|
BLAKE2b-256 | 017d607be3233da18cecfe39a4ba83f3b67869eebe0f22a77f4adc06461ce9d9 |
Hashes for cornflakes-3.0.5-cp310-cp310-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 375ade4d8bb4857b0f330f49321688b3e84270ff01209d61ff1c71e9658cff99 |
|
MD5 | c4fc7358e036bde145744dd0b5f8af5c |
|
BLAKE2b-256 | 7982b31289582eeb6af6bf5321b4acbff7fae38ab5526dc4d4dabe8ef8181a38 |
Hashes for cornflakes-3.0.5-cp310-cp310-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe4594839d9515501c524bc86c519efa40879d5380a67b4f97dd3cd986a99305 |
|
MD5 | f45a75ab1715c2b76413b327a939cb40 |
|
BLAKE2b-256 | 452a6e28e06c40e251e90924c67f03fec01af9f59b1930c15919fb44bf619491 |
Hashes for cornflakes-3.0.5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf571a6e60b454bc7b85b94cebfffebffcf05b85533e1e15098eb46189b9fe35 |
|
MD5 | b176fde507bc8ca7a296e1f8b170ddac |
|
BLAKE2b-256 | 5e3aa194da118d58002cd1af04daba32d356b32dc395f1e44fa7149f1c4dea93 |
Hashes for cornflakes-3.0.5-cp39-cp39-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02f43c03e31bfa5f12017c425e49c1ff6f27c3dbb35410d750992d95bf989413 |
|
MD5 | f341c2e66bb3fd9c2a126c56f3a781cf |
|
BLAKE2b-256 | 6d2d2135ba1281ee0befa4a3a331a15c02d5542ef1be2a376893ad567a0a3fd3 |
Hashes for cornflakes-3.0.5-cp39-cp39-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d890f9be1d190b6fa8ec3e6ec8bc749c89fa08d4776da2d33a2df53f268eb00f |
|
MD5 | db1013a45f1db2564b5456254a09105d |
|
BLAKE2b-256 | b6f9d40e9bbbf740f7a4ce7499c5730d61c99e36687ca45642056a3f956cfc6c |
Hashes for cornflakes-3.0.5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 563b06d52ce397d64a02c78565c1a693aaf7db24a6000b8d5dd5b0a5f5a1b36f |
|
MD5 | 475cc4cb5e5b846ff6291c0932a1b726 |
|
BLAKE2b-256 | 4a92bd080396b3f346394e34ea6c0018452761a9d5626237dfac7d93a4d1f8f5 |
Hashes for cornflakes-3.0.5-cp38-cp38-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4323e95094a297ad7283479cf53255af835d4bf3b9de5e45457285f3f1c19502 |
|
MD5 | b93d172b7b8faabd6ab21b4e4067b1a8 |
|
BLAKE2b-256 | aea56070daad888a32a11e569eedd4eecc0322003fa1a847cc5bbec778bde304 |
Hashes for cornflakes-3.0.5-cp38-cp38-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a278eae63696f9deef34e18bf3f1ef158df5fd27e39b893ed315374b73e024b |
|
MD5 | 50579517aa3deea8e5a05b3c1c2bac65 |
|
BLAKE2b-256 | e07df6d0aa74583168572038d432a881c96e5e103f009e3c100a3bcd1be35968 |