1{ lib
2, attrs
3, buildPythonPackage
4, fetchPypi
5, pytestCheckHook
6, pythonOlder
7, six
8, testtools
9}:
10
11buildPythonPackage rec {
12 pname = "effect";
13 version = "1.1.0";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-ev+2A3B8ZIsHsReB67eTpLmu6KzxrFdkw+0hEq3wyeo=";
21 };
22
23 postPatch = ''
24 substituteInPlace effect/test_do.py \
25 --replace "py.test" "pytest"
26 '';
27
28 propagatedBuildInputs = [
29 attrs
30 six
31 ];
32
33 nativeCheckInputs = [
34 pytestCheckHook
35 ];
36
37 checkInputs = [
38 testtools
39 ];
40
41 pythonImportsCheck = [
42 "effect"
43 ];
44
45 meta = with lib; {
46 description = "Pure effects for Python";
47 homepage = "https://effect.readthedocs.io/";
48 changelog = "https://github.com/python-effect/effect/releases/tag/${version}";
49 license = licenses.mit;
50 maintainers = with maintainers; [ ];
51 };
52}