A type checking and adapting library
Project description
Anticipate
Expect the unexpected, but get what you want.
@anticipate(int) def get_int(): return '1' assert get_int() == 1 @anticipate(str) def get_str(): return 22 assert get_str() == '22' @anticipate([str]) def get_strs(*args): return args assert list(get_strs(1, 2, 3)) == ['1', '2', '3']
Works much better with your own objects or with SpringField
Changelog
0.9.0
Dropped support for Python 2.6, added support for Python 3.7.
Cleaned up code formatting
Bug Fixes
Fixed issue that prevented use of an adaptable object (has an adapt method) as an anticipated list of type.
0.8.0
Change so that anticipating an iterable using [type] will always return a list instead of generator
Added anticipate_input_factory to make it easier to implement input handlers that need to inject values or handle input errors differently
Made it so you can use any object that implements adapt as an anticipate type so you can use SpringField fields as input types
Improved error messages
Split anticipate input and output handling into separate functions to make it easier to intercept input or output handling
Check that the params being anticipated exist in the function signature
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
Built Distribution
File details
Details for the file anticipate-0.9.1.tar.gz
.
File metadata
- Download URL: anticipate-0.9.1.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 591c4312a55ba177754d7c13b718c5bdd3f834ed1ff572b53fa886ac7fd5b8f3 |
|
MD5 | 898fb0cb4df7b61b6480922c3e435a62 |
|
BLAKE2b-256 | decae2ba302ba20253352d7750b693d0cca2134e18cb50c5cb03b46fe28a3779 |
File details
Details for the file anticipate-0.9.1-py3-none-any.whl
.
File metadata
- Download URL: anticipate-0.9.1-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 890f09cb730a8200fb5ea9ccc4bad256e5efc0245fd43f50d02f6d600e53c5c9 |
|
MD5 | 1e2d7076e0853b3bdb40ac8512baa25f |
|
BLAKE2b-256 | 3b8d8accc695ae0314b1615861424fb42148cd5635f7e773ccf572ffd610e5e8 |