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.1.5-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa3a7b9ecad3d28b6cecd975598477f7fcd2809354514d74b61c0d3efeea066b |
|
MD5 | 7bc53c2d3ee7fe3bb2a0907f72a92605 |
|
BLAKE2b-256 | 11e84c530e8688db55629c99f7a796b3379959d248451adce6d07779bcfa9807 |
Hashes for cornflakes-3.1.5-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8a517510c5c5998f9c5a874d07aea324f6ebf519e18a53252321ffabda39cf6 |
|
MD5 | 84e40811359028d9d40107958281150b |
|
BLAKE2b-256 | 8b6aa3de03c8bdfabb5866d550d00d43442726df7be4d508fb013ecde1fd59d6 |
Hashes for cornflakes-3.1.5-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2af9f135774f3b955e081b4b7a3b7eee9b91be54116c7c471e71cbe4d9bbbc11 |
|
MD5 | ad1686a73774d6afe405241c7cce955f |
|
BLAKE2b-256 | e03c961066560902649a63eb1582f440a85b6990eae6e1540b9b87a983ca5315 |
Hashes for cornflakes-3.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ac19ff09c30b0cc23e4478fbe997418af1510dc788b79171efcbb5369607c41 |
|
MD5 | 3529fe67832cab1ecdd203973da64cdd |
|
BLAKE2b-256 | 87688464af366703387e0a256a9c02d7fa26c8b0c0ad1242c3a68e634ed7fadc |
Hashes for cornflakes-3.1.5-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc98604738f9ebf571c6c4c980172a79c6c3f87defb4efb5901ac7003df27849 |
|
MD5 | 3941a251123c0e7c88e360c078ab343a |
|
BLAKE2b-256 | cbb002ae3e6de4c9fb8b8bbaa27ebac15bdd95e66a599f9beb7676dd3cfa73f9 |
Hashes for cornflakes-3.1.5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29a865e28ad7fde3a6f2ac746135f0b00e2fee16cd06cd6b5133b8e7d9633cf2 |
|
MD5 | d9f15e5ac37d75ee0543cc76ec675238 |
|
BLAKE2b-256 | dda3f0d1fe612ad11fd6b0ec05d3cfea004d12ff6157f43bfb50beeb60bc1f12 |
Hashes for cornflakes-3.1.5-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46cd8bb3e32b64be6230678ce23f27612e7cae6c8d6a7889894fe1e81dffb011 |
|
MD5 | 42caa7548dd5420166da991ead72cca7 |
|
BLAKE2b-256 | 7269c3379cbfb256407d22b8873af646436256d4b2ef3b2f0dfed1fbc56f55e5 |
Hashes for cornflakes-3.1.5-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7d13762e2daca290972e7a0ee2c170f75e4169e4e120889e41d29b3f94dcf27 |
|
MD5 | c51a299a338d154511f819ed8699d99f |
|
BLAKE2b-256 | 71a9b41a9f34f098de466a5459ed36617d98e307baff389efe5cb26ec95c3ed5 |
Hashes for cornflakes-3.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3d16dd3f6730b128c6960383e3a6cf796c140d242e7ce93f9dff8db48d05e37 |
|
MD5 | c4fa733b63f26c8df38b9623ae815aab |
|
BLAKE2b-256 | 0e706b11bc95579eeae69b3868bc5388d8349621c2afe7339cb66284a7cabd1a |
Hashes for cornflakes-3.1.5-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40fb74729b70b0bc9c572d13f8b14ba9bbcd4ab078454e179175bb0b4e1de9fd |
|
MD5 | a220f9935ad25acf4936502202c3ea2b |
|
BLAKE2b-256 | b349371930fcc351121123bce608dd9a71e1f28b65234d4d4aabe71380f6aa76 |
Hashes for cornflakes-3.1.5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a664c99676234c0831ec74fcc46ef77e01964d0a4fe6ac3ec05dc760276d31a |
|
MD5 | c7a90e7763151519dee0aeaa3ac80362 |
|
BLAKE2b-256 | c3a8dd4193754acf1f6566f968a8adca993fb2b4d1b6e915c4f8fdf09d7323da |
Hashes for cornflakes-3.1.5-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0e80417a153f788f4877c75f71b3bdf4daab6c38124e334f9698677a9bc138b |
|
MD5 | 14cfbf89ec9fcaa53bcad93cf2dc293c |
|
BLAKE2b-256 | 6cd581ccf84b591b25546a57f99fe477a3255ffdfe17a38109634a698df583e2 |
Hashes for cornflakes-3.1.5-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f1bd7f75b8c73a9be2026d83614c505d86c00578210aa34b43ebf237c50de7b |
|
MD5 | 0a9f787c779c6f98741a33a5df3110db |
|
BLAKE2b-256 | 44ab3afaad6f56d42a0d238e5a8ed75c4013a40e8185c3a33aa9c128e3e4f2e5 |
Hashes for cornflakes-3.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 923288a6f31f99c22d15487724775e575391e8bc7509c2f015358fd82c5ba2b5 |
|
MD5 | f595667ea45bbff113d10508e1d89c61 |
|
BLAKE2b-256 | ce855f29746f5e7d4f14aa336ca74c1116c683602f3d7d1802e8c77ebea0a8dd |
Hashes for cornflakes-3.1.5-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edbab0e0378f87e3555c94548b8c5fc23fc27e2107ad582f228e27780cbae930 |
|
MD5 | 04824514f9974ef853b64494dbcbb419 |
|
BLAKE2b-256 | 76c0f7da723cf3f7e2292c18e6529b6dac06f9c0038a5e2625b5919c59d9207b |
Hashes for cornflakes-3.1.5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6eaa8b8b208168429053cfabecb151d0319322e7a16544c0a540b67c15ef8679 |
|
MD5 | 5867f6275295ba17f9537100b8fd29bb |
|
BLAKE2b-256 | d68b2d7ef278bca0a97f3ce297be8371ac0bd9dde86aead105dca9d47458fae3 |
Hashes for cornflakes-3.1.5-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d4a8ac9539b246802ce437a310d49a63c53dac68fd0027a1765e4d472866afc |
|
MD5 | e193cd4375f86610a7bc4cdfdc5e5e97 |
|
BLAKE2b-256 | 841769ce15261878576875a5417b68ffb8234b8914cfdc946fc4a4cb6d34f04e |
Hashes for cornflakes-3.1.5-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9f8f85325d144a5f9e7d5139c3bb5a866a251187cb8b5612076f7d1a70fa44d |
|
MD5 | f1d6162c042d558346f542be7d513d18 |
|
BLAKE2b-256 | 62f9b678dbd4147a7c55154ac95be66c011af0d5bfe51a1fe3b226f75bc7288c |
Hashes for cornflakes-3.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0211a99e1264a32c63311f354c4e376020166afa70e02cadf4411fec68a9118e |
|
MD5 | a91996485877dcf7a868d737f31b42ab |
|
BLAKE2b-256 | e95dd7af0c6fb4b97c288c66fc6eaccf7f0bfdc67300eccd85d2a29de287d62d |
Hashes for cornflakes-3.1.5-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3a485219b530c9ffd6f628aa4a9ac8805cf248a9ae75e940be3f207b1d94d2c |
|
MD5 | 7b34bbe7cec4e9d3ca088f6303590924 |
|
BLAKE2b-256 | e7228d23086eab2cec951ba4ca48fbed743b16ba33ce310642ff2a5fd670f5f5 |