A Python typing library for data validation.
Project description
This library allows type tests and transformation and can be used for data loading, storing and validation.
Usage
Simple type-checking:
import typed
t1 = typed.int | typed.string
assert t1.test('abc')
assert t1.test(u'xyz')
assert t1.test(30)
assert not t1.test(1.2)
assert not t1.test(True)
assert not t1.test(None)
t2 = typed.list(typed.int)
assert t1.test([1, 2, 3])
assert t1.test([])
assert not t1.test(['a', 'b', 'c'])
t3 = typed.list(typed.int | typed.string)
assert t3.test([1, 'a', 2, 'b'])
t4 = typed.list(typed.int) | typed.list(typed.string)
assert t4.test([1, 2, 3])
assert t4.test(['a', 'b', 'c'])
assert not t4.test([1, 'a', 2, 'b'])
t5 = typed.set(1, 2, 3)
assert t5.test(2)
assert not t5.test(4)
t6 = typed.dict({
'a': typed.int,
'b': typed.bool.optional,
'c': (typed.int | typed.none).optional,
})
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
typed-0.6.tar.gz
(7.0 kB
view details)
File details
Details for the file typed-0.6.tar.gz.
File metadata
- Download URL: typed-0.6.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97bb17f283001e6bc893474db4ce0c9712642656c8ecbbca0a1d7f42aeae0b22
|
|
| MD5 |
9fcba9bca02445c2c4800ec58955b985
|
|
| BLAKE2b-256 |
41d26ee091aae2973bd29909089fd119de5221385354b7e35b3a2541bab3d874
|