Skip to main content

Utility functions to convert strings to Python types

Project description

conversion

Utility functions to convert strings to Python types.

convert_base64

Converts base64 encoded strings or bytes into strings:

>>> from conversion import convert_base64
>>> convert_base64('dGVzdA==')
'test'

If the payload is expected to be bytes, string conversion can be suppressed:

>>> convert_base64('dGVzdA==', convert_string=False)
b'test'

When the function does not find the string can be converted, an exception can be raised:

>>> convert_base64('dGVzdA=', raise_exceptions=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/berto/Projects/home/conversion/conversion/base64.py", line 28, in convert_base64
    converted = base64.b64decode(value)
  File "/Users/berto/.local/share/virtualenvs/conversion-bncB6LgQ/lib/python3.6/base64.py", line 87, in b64decode
    return binascii.a2b_base64(s)
binascii.Error: Incorrect padding

convert_bool

Converts truthy strings to True and falsey strings to False:

>>> from conversion import convert_bool
>>> convert_bool('yes')
True
>>> convert_bool('no')
False

When the function does not find the string can be converted, ValueError is raised:

>>> convert_bool('yup')
ValueError: invalid truth value 'yup'

convert_delta

Converts time with unit suffixes into datetime.timedelta objects:

>>> from conversion import convert_delta
>>> convert_delta('1h')
datetime.timedelta(0, 3600)

convert_json

Converts JSON strings into objects:

>>> from conversion import convert_json
>>> convert_json('{"some": "dict", "in": "json"}')
{'some': 'dict', 'in': 'json'}

convert_list

Converts a comma-delimited string into a list:

>>> from conversion import convert_list
>>> convert_list('a,comma,delimited,list')
['a', 'comma', 'delimited', 'list']

And an optional kwarg can specify the delimiter:

>>> convert_list('a:colon:delimited:list', delimiter=':')
['a', 'colon', 'delimited', 'list']

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conversion-0.0.9.tar.gz (46.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

conversion-0.0.9-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file conversion-0.0.9.tar.gz.

File metadata

  • Download URL: conversion-0.0.9.tar.gz
  • Upload date:
  • Size: 46.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.19

File hashes

Hashes for conversion-0.0.9.tar.gz
Algorithm Hash digest
SHA256 1b09e71c93b1bc876d73a6644ceb09df9cab9af78ecb6d309b880c5f355b4b51
MD5 effca93fce49d648dd411f499c4864c9
BLAKE2b-256 e9c4a3b4e8a2d3d6566f16e16484b3b7215b15bdbee6b26486c458dac72ebecd

See more details on using hashes here.

File details

Details for the file conversion-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: conversion-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.19

File hashes

Hashes for conversion-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e4bcbe02338daaf3335221d97f6cc728eda3c7d7140ab41cde7d82f15d53d6a8
MD5 c797a7774807869b98ec81628e4f66f6
BLAKE2b-256 00c4781c23b08e2af43ef3aedfa0467486d129fd0906882a784f92c21c9d277a

See more details on using hashes here.

Supported by

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