depot/third_party/nixpkgs/pkgs/development/python-modules/hypothesis/default.nix

71 lines
1.4 KiB
Nix
Raw Normal View History

{ lib
, buildPythonPackage
, pythonAtLeast
, fetchFromGitHub
, attrs
, pexpect
, doCheck ? true
, pytestCheckHook
, pytest-xdist
, sortedcontainers
, tzdata
, pythonOlder
}:
buildPythonPackage rec {
# https://hypothesis.readthedocs.org/en/latest/packaging.html
# Hypothesis has optional dependencies on the following libraries
# pytz fake_factory django numpy pytest
# If you need these, you can just add them to your environment.
pname = "hypothesis";
version = "6.38.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "HypothesisWorks";
repo = "hypothesis-python";
rev = "hypothesis-python-${version}";
sha256 = "sha256-JLAM9gBf/Lh+UO7audy6V2jEPg5Cn4DR7moQV7VBwGc=";
};
postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
propagatedBuildInputs = [
attrs
sortedcontainers
];
checkInputs = [
pexpect
pytest-xdist
pytestCheckHook
] ++ lib.optional (pythonAtLeast "3.9") [
tzdata
];
inherit doCheck;
# This file changes how pytest runs and breaks it
preCheck = ''
rm tox.ini
'';
pytestFlagsArray = [
"tests/cover"
];
pythonImportsCheck = [
"hypothesis"
];
meta = with lib; {
description = "Library for property based testing";
homepage = "https://github.com/HypothesisWorks/hypothesis";
license = licenses.mpl20;
maintainers = with maintainers; [ SuperSandro2000 ];
};
}