Skip to main content

Create generic any easy way to manage Configs for your project

Project description

cornflakes logo

PyPI Python Version License Read the documentation at https://cornflakes.readthedocs.io Build Package Status Run Tests Status Codecov

pip install cornflakes
pip install git+https://github.com/semmjon/cornflakes

Information

The Python module “cornflakes” was started as a hobby project and offers an alternative to Pydantic for managing configurations and data structures. It allows creating generic and easy to manage configurations for your project. Unlike Pydantic, which is based on inheritance, “cornflakes” uses a decorator (similar to dataclass) to map data structures.

In addition to a dataclass decorator with additional functionality, there is also a config decorator. This makes it possible to read the dataclass from configuration files. This can be very useful if you want to save your application configurations to a file.

The module also has a click wrapper that simplifies the implementation of command line applications. By integrating the Rich module, the application is additionally equipped with colors and other functions.

There are other useful methods in the base of the module that are generally useful for Python development. These can help you develop your projects faster and more efficiently.

Short Term RoadMap

  • Add autocompletion support for click CLI (automatically)

  • Enrich json methods

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+

  • gh (optional) GitHub’s official command line tool

  • 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 ninja pre-commit poetry

Install pre-commit:

pre-commit install

Update pre-commit:

pre-commit update -a

Run pre-commit:

pre-commit run -a

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

cornflakes-3.3.28.tar.gz (3.2 MB view details)

Uploaded Source

Built Distributions

cornflakes-3.3.28-cp311-cp311-win_amd64.whl (278.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

cornflakes-3.3.28-cp311-cp311-manylinux_2_35_x86_64.whl (408.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.35+ x86-64

cornflakes-3.3.28-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl (418.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cornflakes-3.3.28-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (435.1 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

cornflakes-3.3.28-cp311-cp311-macosx_12_0_x86_64.whl (583.3 kB view details)

Uploaded CPython 3.11 macOS 12.0+ x86-64

cornflakes-3.3.28-cp310-cp310-win_amd64.whl (277.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

cornflakes-3.3.28-cp310-cp310-manylinux_2_35_x86_64.whl (408.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.35+ x86-64

cornflakes-3.3.28-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl (415.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cornflakes-3.3.28-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.3 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

cornflakes-3.3.28-cp310-cp310-macosx_12_0_x86_64.whl (350.7 kB view details)

Uploaded CPython 3.10 macOS 12.0+ x86-64

cornflakes-3.3.28-cp39-cp39-win_amd64.whl (277.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

cornflakes-3.3.28-cp39-cp39-manylinux_2_35_x86_64.whl (408.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.35+ x86-64

cornflakes-3.3.28-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl (415.8 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cornflakes-3.3.28-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

cornflakes-3.3.28-cp39-cp39-macosx_12_0_x86_64.whl (350.9 kB view details)

Uploaded CPython 3.9 macOS 12.0+ x86-64

cornflakes-3.3.28-cp38-cp38-win_amd64.whl (277.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

cornflakes-3.3.28-cp38-cp38-manylinux_2_35_x86_64.whl (407.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.35+ x86-64

cornflakes-3.3.28-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl (415.7 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

cornflakes-3.3.28-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (433.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

cornflakes-3.3.28-cp38-cp38-macosx_12_0_x86_64.whl (350.7 kB view details)

Uploaded CPython 3.8 macOS 12.0+ x86-64

File details

Details for the file cornflakes-3.3.28.tar.gz.

File metadata

  • Download URL: cornflakes-3.3.28.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for cornflakes-3.3.28.tar.gz
Algorithm Hash digest
SHA256 2e90af3406e7244cc078446c9ad50d87c49a4dbfa7800ce62424cbd81dabb493
MD5 350eb65a46df5d384c1620124c62f74d
BLAKE2b-256 5ef3e5a26aa993b2673e52d48df2928b715cdfd39a6069dffbf702cd7f9f29d4

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5af9c4dc5024fe855711edf0e9dfb0c04f1b05fc50805c73e2cf874d0e6b5f42
MD5 9a08e3726d80c4446e4482d3a2c78a64
BLAKE2b-256 bc441ea403c699af1d0363cc6277e36b19bb9b9ddd7d04675e915170c0deda12

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp311-cp311-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp311-cp311-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 0eba45714b53dff9d96ff809e1abb8dc15fc9ed8d3a2499289210cb0096f2167
MD5 0b35a431007fe4ed48df92afe1be2182
BLAKE2b-256 a65ac34b18978d395d0ed93ab0cd9c376c2fe76ec29b0635e3318f9e054502b9

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp311-cp311-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 6bcbfd3b3e79ba0fc922472971ca80cbb483015eceb5922994470cc73b171d0d
MD5 5eed437e1f19a619331f7a8923d646d5
BLAKE2b-256 146eaa18fa82ca7789a5ef4ae2ec3bf02afaf019405aaa5ba67b51cfd9641917

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52ceeef10657f1215c1e0d7308517fbe2a52049438804324977171f5afbbaa48
MD5 1ce2bc6db8e186fe1cecf57891aac305
BLAKE2b-256 e2918b9e966ef78f8b6a52857ec57ed9ac695b211ccc07d80df74e0b07f7b2a9

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp311-cp311-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 85eeb1c6a45ce73966fc34ad63f227f7391e5906e5c7b62a8e2ecc6554db7aa0
MD5 22cb350f9204cafe6c8d0da9aca846af
BLAKE2b-256 ecfbb51c412a9367214937bd72c99d259503b9d8f9c232a6bde2ee3843cb2f30

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 39bca316dce169ee6671fd8d360a2ce3e5123c472e88f8e1d4c5a73b0bf1bdc7
MD5 f70a3efef0ccab2de0101a7bc5c98db0
BLAKE2b-256 1a958dc75a8249ffbb628d12be94a7d8413d1eed2ca6288414c1b6ceef036043

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp310-cp310-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 87f79f52cff9419d5e62e46ef50e3ee3f4634c7318c0dc2396df90c8489ae38e
MD5 647e76a76d808509d08701455e83cd34
BLAKE2b-256 29decb64e5619e699052044ecc5f2cd8495598f2530c6e24c15052e1f8bde47e

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp310-cp310-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 6618925740e7a2cc16d898d261006e902f9918c1a5f6f630b33576bc73886169
MD5 7a6a2bbf2247ff26751b0e744df82d93
BLAKE2b-256 eded5715db2320a402e3fe436277b6d131b10247783b3e0365f1ac53608e1938

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ccad8036dd7873913aecf86439064985eb442085911a266b1befe0f11ec1004c
MD5 71a48af7292bab40e8a94cec6f508613
BLAKE2b-256 f6a93362eb2c9952cc33e82b052b02c7c97f4fc57b1af2c56015655aa05b088e

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp310-cp310-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 f2aa0df0dc30c23775ca997c8347d41ee2dd4b97b7374e7fc2cf360f97af84ab
MD5 60954cb6630bec69bd7e14c9d4dc9338
BLAKE2b-256 1c23fbc4500a1cd84260da49db5faac4d9bfbaa0cdd81f7501bb77b9680df6c6

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3caf209fe5b2d574727cbc94b33947b42135947c5187641d14e65d9cd9063688
MD5 baccd783e75807a456269c8aca9d3df0
BLAKE2b-256 dd014da51b2f50f6713f33f3cf8cecdf7350409146022bef593a984be720bc6e

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp39-cp39-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp39-cp39-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 9f6b7a8e8da13b4eb19eaf6e46f1cb7081039b7124893ac98966dcd4ecdb0dce
MD5 f9108f1db94300cf0577c3c35c5b4d40
BLAKE2b-256 0919102ea013092a40b22bdb99bc5b7cbaee283fb465bfc94cd83fdd72564ba6

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp39-cp39-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 75d8870fcc3d39283a05d8f8b6738fad6cfb4f947b6c7e597043e0be7a71a415
MD5 15c26321d7c7bbc6b309d8d776aa82bc
BLAKE2b-256 342d1ecf746f1c30b7dd25f0d54e0421e4ceb26638897572b37d869c2647e4b4

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6fa912400e22e79c32911089b1af6a7508e2377b3023855247144381fb1d2c21
MD5 d53408489dc19ef16350f699dc60569d
BLAKE2b-256 0ec2d7ced926a4eae15f7b750ab32061fe471a6e122e0027032512471a55d0cb

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp39-cp39-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 1832c6af25f7edd8da15316bed4c9ebb3abeaf767a8834cb50b74925256bddfe
MD5 67148727b8205d8c42378df08a7122b8
BLAKE2b-256 4a09c0b12a9b75185b3e0b6f049cb27604407191ac9f7b4fd791f3842eaa241d

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d3575c0acae2ebbcff00c20119c10dddb068e68e9f6aecf9a3553b2f9c758068
MD5 65237c20bdef8dae61d5112a22e5343c
BLAKE2b-256 3771a94c38b5b22bfe68cd82db98f5e0b973a02991efa14a86595d0343ab1476

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp38-cp38-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 7d889b5b9b7041b8ccd5af953f243fb22c4be365343cac242161c759d260f8e9
MD5 42926d015517b40f7b2b51f6318cc3d6
BLAKE2b-256 587fd177a78e1a6b8fd8aff381754779546cc8fd9e8ca110705dcf545789096c

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp38-cp38-manylinux_2_28_x86_64.manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 f2d0c3d4153e521280d15bce6f796fec0be88f6180f9127573a987e409b95f3c
MD5 a2d7c477df6540d8d5c4a808ad6b57e7
BLAKE2b-256 4d5073f43f3e0a9af67d429f6fb684f96758f72fb0ba215809f750ecae4f673c

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48e234b9016161a0fc147e61a0395b54faa9f202b638a7755d2024692093d701
MD5 f4d2f269f401631a8071fa60e61525c0
BLAKE2b-256 e960dd587c41758d5d58d7785f19240da6ed758e3b87d8ee6efde68f94e48eae

See more details on using hashes here.

File details

Details for the file cornflakes-3.3.28-cp38-cp38-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for cornflakes-3.3.28-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 3bad42e9b5c286686ffa1c8928ea15bba7d3983a7ecfe7ef8db713660c8f1c61
MD5 3388c99edda689435c8f096e13908d84
BLAKE2b-256 70578e122365754d9b82717a68f0d606114d7fde89624a84bc3435ad50a2b37f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page