Create generic any easy to manage Configs for your Project
Project description
pip install 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
The following methods have currently been implemented:
ini_load (flexible and ligthweigh ini to dict parser, Faster Than Configparser)
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)
In the future the following will be implemented: - more hash methods - c++ optimized grep methods - c++ optimized url-tools methods
Currently, the package was only tested for Linux ## Usage
from cornflakes import ini_load, default_ca_path, eval_type
ini_load(files={"s3_configs": ["examples/config/aws_config",
"examples/config/aws_credentials",
"examples/config/.s3cfg"]},
sections=["default", "qa"],
keys={"signurl_use_https": ["signurl_use_https"],
"aws_access_key_id": ["access_key"],
"aws_secret_access_key": ["secret_key"],
"endpoint_url": ["endpoint-url", "host_base"],
"region_name": ["bucket_location", "region", "aws_default_region"],
"service_name": ["service_name"],
"verify": ["ca_certs", "aws_ca_bundle", "ca_bundle"],},
defaults={
"region_name": "us-east-1",
"signurl_use_https": True,
"verify": default_ca_path(),
"service_name": "s3",
})
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+
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 Distribution
Hashes for cornflakes-2.5.6-cp38-cp38-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6892729d8d5f2615a83e4b16cf1ed9e1dae6ee21e9e18572f446db87fbac829 |
|
MD5 | 74f1690c474c5409d0fe47ddc810d95e |
|
BLAKE2b-256 | 41f2163bd49838e9dddb42907c3a38c3e3eaaa0903dfa993199de0fac2d03b77 |