Runtime verification and automated testing for scientific code
Project description
Paranoid Scientist is a Python module for verifying scientific software which provides:
- Runtime verification of entry and exit conditions written in pure Python, including hyperproperties.
- Conditions specified using pure Python refinement types, i.e. types are defined by predicates.
- Automated unit testing of individual functions.
To learn more, read the documentation, conceptual FAQs, technical FAQs, or tutorial, or see the paper/preprint for more technical details.
If you use Paranoid Scientist in an academic work, please cite:
Shinn M. (2020) Refinement Type Contracts for Verification of Scientific Investigative Software. In: Chakraborty S., Navas J. (eds) Verified Software. Theories, Tools, and Experiments. VSTTE 2019. Lecture Notes in Computer Science, vol 12031. Springer, Cham. DOI: 10.1007/978-3-030-41600-3_10
System requirements
- Python 3.5 or above
- Optional: Numpy (for Numpy types support)
License
All code is available under the MIT license. See LICENSE.txt for more information. Paranoid Scientist is copyright 2018-2020 Max Shinn. The logo is copyright 2018 Anastasia Ershova.
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
Built Distribution
Hashes for paranoid_scientist-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b42973f87883aff35d34a72be8e7f1555096d95228ccebb74832cb381a7d0b7f |
|
MD5 | 1cfebd5cc447dcf59e64ae3c0ea52879 |
|
BLAKE2b-256 | 5374f6073fd5a1bb9a23cf0ede3cb6fd2464dfb489abe35e9f8f7371d6ab2535 |