Skip to main content

A python library for variable type checker/validator/converter at run time.

Project description

pytypeutil

https://badge.fury.io/py/pytypeutil.svg https://img.shields.io/pypi/pyversions/pytypeutil.svg https://img.shields.io/travis/thombashi/pytypeutil/master.svg?label=Linux https://img.shields.io/appveyor/ci/thombashi/pytypeutil/master.svg?label=Windows https://coveralls.io/repos/github/thombashi/pytypeutil/badge.svg?branch=master https://img.shields.io/github/stars/thombashi/pytypeutil.svg?style=social&label=Star

Summary

A python library for variable type checker/validator/converter at run time.

Usage

Type Check

>>> from pytypeutil.type import Integer
>>> Integer(1).is_type()
True
>>> Integer(1.1).is_type()
False

Type Validation

>>> from pytypeutil.type import Integer
>>> Integer(1).validate()
>>> try:
...     Integer(1.1).validate()
... except TypeError as e:
...     print(e)
...
invalid value type: expected=INTEGER, actual=<type 'float'>

Type Conversion

convert

>>> from pytypeutil.type import Integer
>>> from pytypeutil import TypeConversionError
>>> Integer("1").convert()
1
>>> try:
...     Integer(1.1).convert()
... except TypeConversionError as e:
...     print(e)
...
failed to convert from float to INTEGER

try_convert

>>> from pytypeutil.type import Integer
>>> Integer("1").try_convert()
1
>>> print(Integer(1.1).try_convert())
None

force_convert

>>> from pytypeutil.type import Integer
>>> Integer("1").force_convert()
1
>>> Integer(1.1).force_convert()
1

For more information

More examples are available at http://pytypeutil.rtfd.io/en/latest/pages/reference/index.html

Features

Supported types are as follows:

  • bool

  • datetime

  • dict

  • int

  • float
    • Real number

    • Infinite

    • Not a number

  • None

  • str
    • null string

Type check/validate/convert results will be decided according to strict_level which can be passed to constructors. API reference can be found at the document.

Installation

pip install pytypeutil

Dependencies

Python 2.7+ or 3.3+

Test dependencies

Documentation

http://pytypeutil.rtfd.io/

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

pytypeutil-0.0.1.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

pytypeutil-0.0.1-py2.py3-none-any.whl (26.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pytypeutil-0.0.1.tar.gz.

File metadata

  • Download URL: pytypeutil-0.0.1.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pytypeutil-0.0.1.tar.gz
Algorithm Hash digest
SHA256 bb802a976d1601a1031d1c2ef085fa8b67022c384f650d8a90de0cf407dec373
MD5 e49e581fcaa932d1446fe920280305d9
BLAKE2b-256 15026529770f8aec77bf424cbdf6ab1fe65d1db515a1c53ca020a73bbeee50bf

See more details on using hashes here.

File details

Details for the file pytypeutil-0.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pytypeutil-0.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fbee0bc8a6494f9869fc4fd55611654a224d493f0960a3ca9cdd1ffeb2d530c0
MD5 0d8ef196c9688e46bdf583f74f4a87e2
BLAKE2b-256 aec9d0fb1491a0beef768e6d8b4a4558ec640d1afb5ef2e05a9d764f283d9917

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