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.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f531b6f7ada1c88827a3c3a0781c5ba265472e2b5df7227399c6e3baf13e75dc |
|
MD5 | 5183940aecd11b1939955b6b1dc24720 |
|
BLAKE2b-256 | 493f1fdeaa43de9f87253731c599163a12a4756934db853674c84a1908848694 |