Port details |
- py-crosshair-tool Analyze Python code for correctness using symbolic execution
- 0.0.81 devel =0 0.0.79Version of this port present on the latest quarterly branch.
- Maintainer: sunpoet@FreeBSD.org
- Port Added: 2024-10-14 05:30:14
- Last Update: 2025-01-02 19:46:31
- Commit Hash: beddaf6
- Also Listed In: python
- License: MIT
- WWW:
- https://crosshair.readthedocs.io/en/latest/
- https://github.com/pschanely/CrossHair
- Description:
- CrossHair is an analysis tool for Python that blurs the line between testing and
type systems.
If you have a function with type annotations and add a contract in a supported
syntax, CrossHair will attempt to find counterexamples for you.
CrossHair works by repeatedly calling your functions with symbolic inputs. It
uses an SMT solver (a kind of theorem prover) to explore viable execution paths
and find counterexamples for you. This is not a new idea; a Python approach was
first described in this paper. However, to my knowledge, CrossHair is the most
complete implementation: it can use symbolic reasoning for the built-in types,
user-defined classes, and much of the standard library.
- ¦ ¦ ¦ ¦
- Manual pages:
- FreshPorts has no man page information for this port.
- pkg-plist: as obtained via:
make generate-plist - There is no configure plist information for this port.
- Dependency lines:
-
- ${PYTHON_PKGNAMEPREFIX}crosshair-tool>0:devel/py-crosshair-tool@${PY_FLAVOR}
- To install the port:
- cd /usr/ports/devel/py-crosshair-tool/ && make install clean
- To add the package, run one of these commands:
- pkg install devel/py-crosshair-tool
- pkg install py311-crosshair-tool
NOTE: If this package has multiple flavors (see below), then use one of them instead of the name specified above. NOTE: This is a Python port. Instead of py311-crosshair-tool listed in the above command, you can pick from the names under the Packages section.- PKGNAME: py311-crosshair-tool
- Package flavors (<flavor>: <package>)
- py311: py311-crosshair-tool
- distinfo:
- TIMESTAMP = 1735837789
SHA256 (crosshair-tool-0.0.81.tar.gz) = fb978bf4648b886700ee0baeebee4945521dd2e459bb43188fa91a483557917b
SIZE (crosshair-tool-0.0.81.tar.gz) = 448147
Packages (timestamps in pop-ups are UTC):
- Dependencies
- NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
- Build dependencies:
-
- py311-setuptools>=0 : devel/py-setuptools@py311
- py311-wheel>=0 : devel/py-wheel@py311
- python3.11 : lang/python311
- py311-build>=0 : devel/py-build@py311
- py311-installer>=0 : devel/py-installer@py311
- Test dependencies:
-
- python3.11 : lang/python311
- Runtime dependencies:
-
- py311-importlib-metadata>=4.0.0 : devel/py-importlib-metadata@py311
- py311-packaging>=0 : devel/py-packaging@py311
- py311-pygls>=1.0.0 : devel/py-pygls@py311
- py311-typeshed-client>=2.0.5 : devel/py-typeshed-client@py311
- py311-typing-extensions>=3.10.0 : devel/py-typing-extensions@py311
- py311-typing-inspect>=0.7.1 : devel/py-typing-inspect@py311
- py311-z3-solver>=4.13.0.0 : math/py-z3-solver@py311
- python3.11 : lang/python311
- This port is required by:
- for Run
-
- devel/py-hypothesis
- devel/py-hypothesis-crosshair
Configuration Options:
- No options to configure
- Options name:
- devel_py-crosshair-tool
- USES:
- python:3.9+
- FreshPorts was unable to extract/find any pkg message
- Master Sites:
|