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.7-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63c968ec81349fce443a1211b04560c2b03e8b3f2093de7ab9805c4e0ca7c17f |
|
MD5 | e07991b546816f2d15f6e798720740f2 |
|
BLAKE2b-256 | c079c1ae6db71a5782b97bd83d4bc7b714736112bbb85e4eb6d0ebda095dd2f8 |
Hashes for cornflakes-3.2.7-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 897d888e0bbba512015a8cc6042d4240a9eeb81aeaf84f6a5c470780284e6e4c |
|
MD5 | eb3377b16664c5512ce85cd070b3392c |
|
BLAKE2b-256 | 2792bb00c22aa17d7dd3d84890ff41ce689a37bf27af1616bb4c0b651a5ef1df |
Hashes for cornflakes-3.2.7-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe5964aba004ec36cbdb6dc76fa505fc8c3a3c98453540e6ad3b6cad4f3d0b09 |
|
MD5 | 2d13cbfc9ee55c4228400ac9bd1076d2 |
|
BLAKE2b-256 | 6a2565c4a99652dfbf904d1310d5144d3aff0b12a881136ecfc0c62e7a3666d2 |
Hashes for cornflakes-3.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d75dd166c19849765b64918f2b1ac8b32547d4aa408faf03a0e28eb93a6e4de3 |
|
MD5 | 76f2fe7809fae058f53456c5b4f6fa4a |
|
BLAKE2b-256 | cef6a9376f87b05ca0f983bd5e4bd1bcbeff1e4a01331626cfb783be431a7bd4 |
Hashes for cornflakes-3.2.7-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb2243ab09a0350b55f192ea0c4b4ea87480be1d551ab33b7a28a69fa2f48fc3 |
|
MD5 | d639d7b7237a28b2e481076388e1a536 |
|
BLAKE2b-256 | 96773a541a77ff8150014caaab82c7c828c751f3da8aea2d99b8cea6d4e0f8ed |
Hashes for cornflakes-3.2.7-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cb8fb88f80694b03115381582b98843458f13d3a3d0385e4c231a3c03c71694 |
|
MD5 | 657fa21358110057d33a4532094c8490 |
|
BLAKE2b-256 | eabd4f6a2e0bfda312718ea53993ea9f44432124c85a70dba5806a0cbde57e21 |
Hashes for cornflakes-3.2.7-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41bca284f5bc3a9c3e747b34e6e3f977d467306099c5851241dbbe3db11aa4bc |
|
MD5 | 628dd2e9222f30c214eb6ed47f532697 |
|
BLAKE2b-256 | 068638c0e94c10892c9a319d4443761cae7838983e14e8d6904ce7d506c72e0a |
Hashes for cornflakes-3.2.7-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 143d474f04085eda770c6ae0506db07d467743275bb98595d9ec1a7dcd44a854 |
|
MD5 | a7e0d92884361585be0bd4f2cd6f1f53 |
|
BLAKE2b-256 | 27454c9985e09f19cbe4082a7e53ba556ad5bd82ab05e957750acedfb763a56c |
Hashes for cornflakes-3.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 048432d86a1cce37dcd2390e5e608a396d71d2a20da2fd5d81cb2110066c183b |
|
MD5 | b4bcf85eee6bb866c847b3ea7bc4a390 |
|
BLAKE2b-256 | 4cddd1fbea0072233d6fc15a90d0c2aa84449b18be8d29920d387c1d290c0d6c |
Hashes for cornflakes-3.2.7-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bc69cc2fa98781869e7f4ebfa92acaae7ce98b19335a2efcc01e5d37efa1fd9 |
|
MD5 | a8e227de5010c47e0d6c72e39d8e2015 |
|
BLAKE2b-256 | 07d094297e5d782ef1200cf02bb5c4e95b863cf61521510a965252309af4e07b |
Hashes for cornflakes-3.2.7-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52c417004085858e726a7b28139229506f94a7e2d9e5b2114d689616e4e79da8 |
|
MD5 | 287802301ce70a96d84b898066f23bc5 |
|
BLAKE2b-256 | 1bdb52c2adb4da2c60bf7d7581645fd9938fabbce8f8d3edf392634d75ec90e2 |
Hashes for cornflakes-3.2.7-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fa9f44a0d2d5d3bc971dcd0bcdc1614c4109079c1c2c64d481b7ae0b7328124 |
|
MD5 | d31e84b6aaf14a896e528829cc44359b |
|
BLAKE2b-256 | ea0c070ca7e6e4917a6bf8da5c8213465e7329a5844a38fe70e3a03b9e27c22f |
Hashes for cornflakes-3.2.7-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5de3e0bdec21ad04fa87cdbe09b7fbf840d06173cc251fc3f4811586f6362582 |
|
MD5 | a4de514a6ba790b2f208f019f12eb05e |
|
BLAKE2b-256 | 6cb107b146abdde4b3353f0b9867689fdf44950c5b5a1a9159cff3313aac2ace |
Hashes for cornflakes-3.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41740a487db2b2034c26a9dcdb8b56cb3d6060f300555dd96c200dfdf6ca8dfd |
|
MD5 | 9d12979277df8054f6a35b3aee6fcd62 |
|
BLAKE2b-256 | 2620d52f9c965341d208c7baac22ffcbebbf311865982f62d769b72626788ccb |
Hashes for cornflakes-3.2.7-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d3b31d1368a7ed14a06c69c11b70cfbe0c505ad132e5a2c07f1599f3fe8f397 |
|
MD5 | c1d9055dd1c049d8a7d9d3d998787cad |
|
BLAKE2b-256 | 1a29abfc8d7899c6d1795db5829e755bd7f2a255f90bf8da36fc78f42a36754c |
Hashes for cornflakes-3.2.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbf8f623b4092a7f7c876abf0e349ae67ed458710469e87b924238825c487014 |
|
MD5 | 2c0d1d3456ff2fffe90bfe924bb0930e |
|
BLAKE2b-256 | 530bf876854b81d9e60187d4f820404b79b380e185719ef6e157be2318827321 |
Hashes for cornflakes-3.2.7-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9795fc07ce6f053d72dbce68e2842a95d1073203a99ea70eab38f37c0df87eb |
|
MD5 | 49a6dc0d9210e7a57d6d6863a1383c36 |
|
BLAKE2b-256 | 3bc61ca178eab016fee90ac17f046d9191da41029e90b69be8ba77d9a90e0784 |
Hashes for cornflakes-3.2.7-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f0fa52a6defd88dbba85a9b1f887faa86338134a727a1837dfceff09484b327 |
|
MD5 | 1666e922894ce09768406e8017a63edc |
|
BLAKE2b-256 | 055323b8d796594682b73eb9c394e16d8fbeb225c9e28a262f47e73275b4e07c |
Hashes for cornflakes-3.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90b9c40214c90cd0222347073abd9d2a93865890c759defe5160ec9ba7557e53 |
|
MD5 | 4fcaac573d365281b049171bb90a6f79 |
|
BLAKE2b-256 | f0221d4ad8982fe5b014f4c90beef2a353cda161c73086c03776820859f7bd02 |
Hashes for cornflakes-3.2.7-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a94194f87bb98023a21be121a52e6fe917e820cb3771982488e721c13cefc30 |
|
MD5 | 80f7d268a86b11b20a980943516646e5 |
|
BLAKE2b-256 | a1b9263de60fbb1be3944bf05213c22cec9d2a069f559c97c611f6d304890c15 |