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.7-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3e5a61641c2e88b702931a1741f0130c619b46297434a6ffa2225dc3bc3d20d |
|
MD5 | 73c912e99e2c15ccda29aa17776e32e0 |
|
BLAKE2b-256 | 689e3f7a327e8c2181d595316b97808e5cfea68f12a6acd60fd561b92345e1a9 |
Hashes for cornflakes-3.1.7-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab16af3fd7d3fbe992775585f9af7c263fd827c15e9a835830bb54f7ece2fcf5 |
|
MD5 | dabeedf33ee679952d991217ebdc6dc0 |
|
BLAKE2b-256 | 63cb5ca911e7da77d652b55b46402d63c7f5cb443e6c29e639c42ff33a4eb2f6 |
Hashes for cornflakes-3.1.7-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8141a9d49bb8b745e49e83d98aba8a6c20f42c496c3dd50e7caa8d2ea2c0c6c0 |
|
MD5 | 58b7be73c80f1955e48145c85b586a3f |
|
BLAKE2b-256 | da94e4ef21d9db837893859f58362c18dac16d595f0c886df9723c11fef61a18 |
Hashes for cornflakes-3.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78d153bccf0fbdb5e224b90dce5472fc623a4409b7f487e7b5d6d259fb3becae |
|
MD5 | 6faa393c771582d361b764b00a6af2d0 |
|
BLAKE2b-256 | 3743a6884b5ac7c8557933ebfa0aa8f810e579f8ea49ff4a191a9e7b79fe3569 |
Hashes for cornflakes-3.1.7-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfed2257d9713898b671bd46b685cfc28942c688e65f9444c0c57a75c74e208c |
|
MD5 | 57d256cafa5c45e96ad33eb703886ded |
|
BLAKE2b-256 | dc58cf330684ac3a46154115e63ce17623a23e56a01825a89b7415ef521b23bf |
Hashes for cornflakes-3.1.7-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c34c6e806eb6229761d85f635d6cb68ef64a5c36cee018d714993344240acb2 |
|
MD5 | e890d2277a083be5ababa726b1463120 |
|
BLAKE2b-256 | c41087ea6f18bfa644a94b95c745867bd110cf9cbe5ec529151b68ab79de1df8 |
Hashes for cornflakes-3.1.7-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa88a06f532550236957d832aac594dcb2a4c14063d591380af9b0bea3844a7a |
|
MD5 | 59c9a47dee4c50b76c620d56e094e22a |
|
BLAKE2b-256 | 5e9a61423482a186b66734a9ed650480377d6ad7bc15466f7fc20d316e179d90 |
Hashes for cornflakes-3.1.7-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81c88af596781fe5511705922f7bae40036a053bc95cc3dc998f568381ae5d13 |
|
MD5 | 4cb256d7cb7088060a3574276b5b5f9d |
|
BLAKE2b-256 | fc8a35d25ff63b6b05c1468242c88dcaba21ae2b75e77aed76acc0dac05c324f |
Hashes for cornflakes-3.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18049b6d733b8a0241a5f0f4e5c4b0b9a43544c93986d80babd8951f4ed954ad |
|
MD5 | b78c2d8b5520b8aa623f73ccbbde9927 |
|
BLAKE2b-256 | 9ed4c0325a88178efb9e97122c68573a53deb16a191e13c492fb5e89cd867514 |
Hashes for cornflakes-3.1.7-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41ede2de7860fc3d6c41e6867a4af4edc1972cc8a9376c3d2c1a843b854f555e |
|
MD5 | d13c844c317ac1554b76a37aa17f03a8 |
|
BLAKE2b-256 | 1d478d2b45e886f215bfcf982a799da06a10934f76642e7547f4d2859691a1b6 |
Hashes for cornflakes-3.1.7-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02e326d333874c1336976d55444b3be9ecc820b2fbb11d99f0e526bb10aba8ee |
|
MD5 | 6f92d92897aa26464aa3b553c38a0e37 |
|
BLAKE2b-256 | 8ea4928e310179f5bcd5210e33dfb8308a28ee807dbd3259f4a95db24ba5e894 |
Hashes for cornflakes-3.1.7-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b0c0790eea860447a6fb12fc0ce7b6436ae42a2effa06bb49a36e5a59d678e5 |
|
MD5 | bd81bb7d0aa004d0857a8b085a29903d |
|
BLAKE2b-256 | 07c496715c4dd205705dd28cf23fc3a09389ec9e107cecdc03bfd784cad4f1cb |
Hashes for cornflakes-3.1.7-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42942c394450457b56991a059752cf1182dcdbc1c4c99b527922f881c86d42fd |
|
MD5 | 183e2454893fe1a14d55f2116ea04358 |
|
BLAKE2b-256 | 5259d1c0f5efdefbcf1a8d39d8cf323fa8c11a2c3171e9ab7d0095154f3f2273 |
Hashes for cornflakes-3.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 990f03bda376bcaf8392a54eb7dbe77dc847ae1459b25c5ad20f56bfa505f02b |
|
MD5 | b673dd393363a4cc197c0eb05ed21d65 |
|
BLAKE2b-256 | c49c3de054797612e4018885523e74ce5ccaf00c21277a68a4cc00373bc59f84 |
Hashes for cornflakes-3.1.7-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1133047a55094b2319357b27f3c4577105aee3ec0e44eea02417376231871474 |
|
MD5 | 262fd0a08e1175250eeca5cbf53bb2ea |
|
BLAKE2b-256 | 22d1efcfc257c3aa167729864212660b2a33b33d7ee463618e2481d9047233fd |
Hashes for cornflakes-3.1.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd348f99f8e4f46515781eb20b73158568dcc77bd942e75470ca645dcd556ebf |
|
MD5 | 9bc540694d2d69212419930b39abcfaf |
|
BLAKE2b-256 | 6a3d4ab86c107009168b310def3320c6590e3c1dd390e098b4dab3b4d4e3fecc |
Hashes for cornflakes-3.1.7-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca313d30c3cbb1db66e1526ba1ec1fceadea824d9b5c64e838f0e17b4445f419 |
|
MD5 | 9d9f8bc61dbf36be9d74e5d640ec4fb3 |
|
BLAKE2b-256 | fbff8562cd2b1713a721c456ab8921ed116167455a1027c053401eb9944c32b5 |
Hashes for cornflakes-3.1.7-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4a8db3c1eb7ba2b58a6d9d87a273cf347f3b1a35aef037e71cf0fe4fa229deb |
|
MD5 | 1a2ff089e6ae14db1a5eff580c1e6da3 |
|
BLAKE2b-256 | b2872815a0c5185605d11d039798154e420ababd8da65e2f66e3c59cf4e5c106 |
Hashes for cornflakes-3.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26b130aba5c78016ab845e9ec143c78bd57b088462ae08a50410682294614361 |
|
MD5 | 82e6d3574dd09476dc7d7f93fb032d64 |
|
BLAKE2b-256 | a5000257c43000386d444e9dd2bc445c017e55b2fc984d4aa045ef559d58d951 |
Hashes for cornflakes-3.1.7-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af1bffd2646da030ec4f774bbe8bf21a2df806d47aa24b9866a5ca78c71caf22 |
|
MD5 | c0fc693e5517092046054756b75d39c9 |
|
BLAKE2b-256 | cc6f871811b9b115ace3cfcf829c6a3810c01cc319930a2aa8df8982106e6701 |