CPP-Utils Python Package for string and file operations
Project description
CPP-Utils Python Package
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 cpputils 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",
})
Installation
pip install cpputils
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)
- Ninja or Pip 3.8+
Installation
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/cpputils.git
pip install .
Publish
twine upload -r pypi $(ls dist/cpputils-1.0.0-*.whl) --verbose
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
cpputils-1.4.2.tar.gz
(437.6 kB
view hashes)
Built Distributions
Close
Hashes for cpputils-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec447d1b7b5d23f3fb62a0a28b1732b22262b5a88c1389390c620528f3c65924 |
|
MD5 | a80d773cd600519e2e86f4d7c5c1b315 |
|
BLAKE2b-256 | 50fafd5b865cabc070dc473fa9dc7367ae7b834449111accd814183c007546fe |
Close
Hashes for cpputils-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f874e8e101adcc1b5b498a08cbf39845b8a2ceb2b6e3005c4bdd7a4b0cc0ff3 |
|
MD5 | e07892fad7aac9aa68540d1024776ab8 |
|
BLAKE2b-256 | 07a852caf26fefd33954c6410efb2303e57fa010a138ecc79f4672ab78a77f5e |
Close
Hashes for cpputils-1.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f54732893d6181d665c649e1b03fca027524be3bb89a1de785a5ddc46de9cd86 |
|
MD5 | 1b608551f53f77c381f938d2fa4065f6 |
|
BLAKE2b-256 | ab5b57333afb1c7ef2fdf35f537d36836b23c2e27865ec6f5bcf306dcd350e0f |