nixpkgs/pkgs/development/python-modules/hypothesis/default.nix
2022-04-13 16:49:35 +02:00

71 lines
1.4 KiB
Nix

{ 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.40.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "HypothesisWorks";
repo = "hypothesis-python";
rev = "hypothesis-python-${version}";
hash = "sha256-6BC3CTotkMhguueH4NJM8VjbrYhofHqtZEUytcllMwQ=";
};
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 ];
};
}