notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
Port details
py-crosshair-tool Analyze Python code for correctness using symbolic execution
0.0.81 devel on this many watch lists=0 search for ports that depend on this port Find issues related to this port Report an issue related to this port View this port on Repology. pkg-fallout 0.0.79Version of this port present on the latest quarterly branch.
Maintainer: sunpoet@FreeBSD.org search for ports maintained by this maintainer
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.
HomepageHomepage    cgit ¦ Codeberg ¦ GitHub ¦ GitLab ¦ SVNWeb - no subversion history for this port

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):
py311-crosshair-tool
ABIaarch64amd64armv6armv7i386powerpcpowerpc64powerpc64le
FreeBSD:13:latest0.0.810.0.81-0.0.810.0.81---
FreeBSD:13:quarterly0.0.810.0.81--0.0.81---
FreeBSD:14:latest0.0.810.0.81-0.0.810.0.81---
FreeBSD:14:quarterly0.0.810.0.81-0.0.810.0.81---
FreeBSD:15:latest0.0.810.0.81n/a0.0.81n/a---
Dependencies
NOTE: FreshPorts displays only information on required and default dependencies. Optional dependencies are not covered.
Build dependencies:
  1. py311-setuptools>=0 : devel/py-setuptools@py311
  2. py311-wheel>=0 : devel/py-wheel@py311
  3. python3.11 : lang/python311
  4. py311-build>=0 : devel/py-build@py311
  5. py311-installer>=0 : devel/py-installer@py311
Test dependencies:
  1. python3.11 : lang/python311
Runtime dependencies:
  1. py311-importlib-metadata>=4.0.0 : devel/py-importlib-metadata@py311
  2. py311-packaging>=0 : devel/py-packaging@py311
  3. py311-pygls>=1.0.0 : devel/py-pygls@py311
  4. py311-typeshed-client>=2.0.5 : devel/py-typeshed-client@py311
  5. py311-typing-extensions>=3.10.0 : devel/py-typing-extensions@py311
  6. py311-typing-inspect>=0.7.1 : devel/py-typing-inspect@py311
  7. py311-z3-solver>=4.13.0.0 : math/py-z3-solver@py311
  8. python3.11 : lang/python311
This port is required by:
for Run
  1. devel/py-hypothesis
  2. 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:
Expand this list (2 items)
Collapse this list.
  1. https://files.pythonhosted.org/packages/source/c/crosshair-tool/
  2. https://pypi.org/packages/source/c/crosshair-tool/
Collapse this list.

Number of commits found: 7

Commit History - (may be incomplete: for full details, see links to repositories near top of page)
CommitCreditsLog message
0.0.81
02 Jan 2025 19:46:31
commit hash: beddaf6f3e1096a4457042e326a84729dccede00commit hash: beddaf6f3e1096a4457042e326a84729dccede00commit hash: beddaf6f3e1096a4457042e326a84729dccede00commit hash: beddaf6f3e1096a4457042e326a84729dccede00 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/py-crosshair-tool: Update to 0.0.81

Changes:	https://github.com/pschanely/CrossHair/releases
		https://crosshair.readthedocs.io/en/latest/changelog.html
0.0.80
31 Dec 2024 15:48:12
commit hash: 3d11ca45c70082ce0c2668ae20315a90475f04d6commit hash: 3d11ca45c70082ce0c2668ae20315a90475f04d6commit hash: 3d11ca45c70082ce0c2668ae20315a90475f04d6commit hash: 3d11ca45c70082ce0c2668ae20315a90475f04d6 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/py-crosshair-tool: Update to 0.0.80

Changes:	https://github.com/pschanely/CrossHair/releases
		https://crosshair.readthedocs.io/en/latest/changelog.html
0.0.79
25 Dec 2024 19:15:22
commit hash: 651e262fabe12bb225fc94138258474282a9471dcommit hash: 651e262fabe12bb225fc94138258474282a9471dcommit hash: 651e262fabe12bb225fc94138258474282a9471dcommit hash: 651e262fabe12bb225fc94138258474282a9471d files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/py-crosshair-tool: Update to 0.0.79

Changes:	https://github.com/pschanely/CrossHair/releases
		https://crosshair.readthedocs.io/en/latest/changelog.html
0.0.78
21 Nov 2024 13:38:05
commit hash: 1826e7e18ddf5f48d6004e9566fe28880d117c13commit hash: 1826e7e18ddf5f48d6004e9566fe28880d117c13commit hash: 1826e7e18ddf5f48d6004e9566fe28880d117c13commit hash: 1826e7e18ddf5f48d6004e9566fe28880d117c13 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/py-crosshair-tool: Update to 0.0.78

Changes:	https://github.com/pschanely/CrossHair/releases
		https://crosshair.readthedocs.io/en/latest/changelog.html
0.0.76
26 Oct 2024 02:01:52
commit hash: 12a1e1e1d394706419eece9ecdb1386460928ea9commit hash: 12a1e1e1d394706419eece9ecdb1386460928ea9commit hash: 12a1e1e1d394706419eece9ecdb1386460928ea9commit hash: 12a1e1e1d394706419eece9ecdb1386460928ea9 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/py-crosshair-tool: Update to 0.0.76

Changes:	https://github.com/pschanely/CrossHair/releases
		https://crosshair.readthedocs.io/en/latest/changelog.html
0.0.75
25 Oct 2024 15:56:43
commit hash: 58c75be23e557cce77b492f11d86bf719d1baa44commit hash: 58c75be23e557cce77b492f11d86bf719d1baa44commit hash: 58c75be23e557cce77b492f11d86bf719d1baa44commit hash: 58c75be23e557cce77b492f11d86bf719d1baa44 files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/py-crosshair-tool: Update to 0.0.75

- Update WWW

Changes:	https://github.com/pschanely/CrossHair/releases
		https://crosshair.readthedocs.io/en/latest/changelog.html
0.0.74
14 Oct 2024 04:45:08
commit hash: d8f05e1eab204fa83d38addc6efb95d87fac1a1dcommit hash: d8f05e1eab204fa83d38addc6efb95d87fac1a1dcommit hash: d8f05e1eab204fa83d38addc6efb95d87fac1a1dcommit hash: d8f05e1eab204fa83d38addc6efb95d87fac1a1d files touched by this commit
Po-Chuan Hsieh (sunpoet) search for other commits by this committer
devel/py-crosshair-tool: Add py-crosshair-tool 0.0.74

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.

Number of commits found: 7