Skip to content

Latest commit

 

History

History
53 lines (38 loc) · 959 Bytes

README.md

File metadata and controls

53 lines (38 loc) · 959 Bytes

istype

Build Status

Support python version:

  • 3.6
  • 3.7
  • 3.8

Usage

After python 3.5, we got a typing module.

We known typing.Union[int, str] mean the type is one of int or str. However, we cannot use isinstance() for test it.

So...

from typing import Union
from istype import isinstanceof

assert isinstanceof(1, Union[int, str])

You can use from istype import isinstanceof as isinstance to replace the builtins isinstance.

Supported types

  • Union
  • Any
  • Optional
  • Tuple
  • List
  • AnyStr
  • Set
  • Dict
  • Type
  • Iterable
  • Collection

Configurable

from typing import List
from istype import TypeMatcher

matcher = TypeMatcher()
assert not matcher.isinstance([1], List[str])
matcher.check_list_elements = False
assert matcher.isinstance([1], List[str]) # now can ignore element checks