Various Python utility functions
Project description
Boxine - bx_py_utils
Various Python utility functions
Quickstart
pip install bx_py_utils
Existing stuff
Here only a simple list about existing utilities. Please take a look into the sources and tests for deeper informations.
test utilities
datetime.parse_dt()
- Handydatetime.strptime()
convertassert_json_requests_mock()
- Check the requests history ofrequests_mock.mock()
assert_equal()
- Compare objects with a nice diff using pformatassert_text_equal()
- Compare text strings with a nice diffassert_snapshot
- Helper for quick snapshot test functionality (comparing value with one stored in a file using json)assert_text_snapshot
- Same asassert_snapshot
comparing text stringsassert_py_snapshot
- Snapshot test usingPrettyPrinter()
humanize
humanize.time.human_timedelta()
- Converts a time duration into a friendly text representation. (X ms
,sec
,minutes
etc.)pformat()
- Betterpretty-print-format
using JSON with fallback topprint.pformat()
AWS stuff
bx_py_utils.aws.secret_manager.SecretsManager
- Get values from AWS Secrets Managerbx_py_utils.test_utils.mock_aws_secret_manager.SecretsManagerMock
- Mock ourSecretsManager()
helper in testsbx_py_utils.test_utils.mock_boto3session.MockedBoto3Session
- Mockboto3.session.Session()
(Currently onlyget_secret_value()
)bx_py_utils.aws.client_side_cert_manager.ClientSideCertManager
- Helper to manage client-side TLS certificate via AWS Secrets Manager
GraphQL
graphql_introspection.introspection_query
Generate an introspection query to get an introspection doc.graphql_introspection.complete_query
Generate a full query for all fields from an introspection doc.
misc
dict_utils.dict_get()
- nested dictget()
dict_utils.pluck()
- Extract values from a dict, if they are presentenviron.cgroup_memory_usage()
- Get the memory usage of the current cgrouperror_handling.print_exc_plus()
- Print traceback information with a listing of all the local variables in each frameiteration.chunk_iterable()
- Create chunks off of any iterableprocessify.processify()
- Will execute the decorated function in a separate processanonymize.anonymize()
- Anonymize a string (With special handling of email addresses)hash_utils.url_safe_hash()
- Generate URL safe hashescompat.removeprefix()
- Backport ofstr.removeprefix
from PEP-616compat.removesuffix()
- Backport ofstr.removesuffix
from PEP-616
Backwards-incompatible changes
v36 -> v37 - Outsourcing Django stuff
We split bx_py_utils
and moved all Django related utilities into the separated project:
So, bx_py_utils
is better usable in non-Django projects, because Django will not installed as decency of "bx_py_utils"
developing
To start developing e.g.:
~$ git clone https://github.com/boxine/bx_py_utils.git
~$ cd bx_py_utils
~/bx_py_utils$ make
help List all commands
install-poetry install or update poetry
install install via poetry
update Update the dependencies as according to the pyproject.toml file
lint Run code formatters and linter
fix-code-style Fix code formatting
tox-listenvs List all tox test environments
tox Run pytest via tox with all environments
tox-py36 Run pytest via tox with *python v3.6*
tox-py37 Run pytest via tox with *python v3.7*
tox-py38 Run pytest via tox with *python v3.8*
tox-py39 Run pytest via tox with *python v3.9*
pytest Run pytest
pytest-ci Run pytest with CI settings
publish Release new version to PyPi
clean Remove created files from the test project
License
MIT. Patches welcome!
Links
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
bx_py_utils-37rc1.tar.gz
(15.1 kB
view details)
Built Distribution
File details
Details for the file bx_py_utils-37rc1.tar.gz
.
File metadata
- Download URL: bx_py_utils-37rc1.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d8d2e7df55fc54fc7e7537da425fdafa82e76f2153787d0d30da4080218eb8f |
|
MD5 | a06d6e63005174d9544ce42f65455f92 |
|
BLAKE2b-256 | 1a342eeda8649c58a1ed17a04c4c218834fd118a039ca273f03bc647dcdafa60 |
File details
Details for the file bx_py_utils-37rc1-py3-none-any.whl
.
File metadata
- Download URL: bx_py_utils-37rc1-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e31a8691308c2ff7202f7dd9e0b664e005a4e2d34b8ecd9ed0d35b291def89e |
|
MD5 | 6f5b040914dc240840d95f9360a74be1 |
|
BLAKE2b-256 | 57276b1b51178929b71ef013fa0439deb6778702a907b738962ade4554c2266f |