BSD Ports

devel/py-crosshair-tool 0.0.110 FreeBSD

Analyze Python code for correctness using symbolic execution

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
1f557293eb
License
MIT
Categories
devel, python
Package size
1290.5 KiB, 8247.7 KiB installed

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.

In the other systems

The newest version among them is 0.0.110, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
FreeBSDdevel/py-crosshair-tool0.0.110 newestnone known-[email protected]2026-08-24
HardenedBSDdevel/py-crosshair-tool0.0.110 newestno data-[email protected]-
GhostBSDdevel/py-crosshair-tool0.0.110 newestno data-[email protected]-

Version history 3

  1. 0.0.110 1f557293eb
  2. 0.0.108 fa0ac4ca10
  3. 0.0.107 eacde08345

Upstream's version as each commit to the port's Makefile set it, or as this site first saw it in the system's packages; the tree's own revisions are not versions here.

Install

Binary package:

pkg install py312-crosshair-tool

From the ports tree:

cd /usr/ports/devel/py-crosshair-tool/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	py312-crosshair-tool>0:devel/py-crosshair-tool

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest0.0.1100.0.110-0.0.940.0.110
FreeBSD:14:quarterly0.0.1100.0.110n/a0.0.880.0.110
FreeBSD:15:latest0.0.1100.0.110n/a0.0.940.0.94
FreeBSD:15:quarterly0.0.1100.0.110n/an/an/a
FreeBSD:16:latest0.0.1100.0.110n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

As this port's Makefile names them.

Build 2

Runtime 7

The full lists below include those, and their dependencies in turn.

Build dependencies 16
Run dependencies 23

Configuration

No options to configure.

USES
python
Service scripts
none

Files

distinfo 1
FileSizeSHA256
crosshair_tool-0.0.110.tar.gz628630fc0dd25117309728bf6fe304ed6ffce906a6b6aefc6c275b5bbb6cc7186367b3
Master sites 1
  • PYPI

Commit history 4

DateCommitCreditsLog message
1f557293eb Po-Chuan Hsieh devel/py-crosshair-tool: Update to 0.0.110
Changes: https://github.com/pschanely/CrossHair/releases https://crosshair.readthedocs.io/en/latest/changelog.html
fa0ac4ca10 Po-Chuan Hsieh devel/py-crosshair-tool: Update to 0.0.108
Changes: https://github.com/pschanely/CrossHair/releases https://crosshair.readthedocs.io/en/latest/changelog.html
bb2ce45353 Po-Chuan Hsieh devel/py-crosshair-tool: Clean up patch
eacde08345 Po-Chuan Hsieh devel/py-crosshair-tool: Update to 0.0.107
Changes: https://github.com/pschanely/CrossHair/releases https://crosshair.readthedocs.io/en/latest/changelog.html