1{ lib
2, buildPythonPackage
3, cython_3
4, fetchPypi
5, future
6, pytestCheckHook
7, pythonAtLeast
8, pythonOlder
9, hatchling
10, hatch-vcs
11, toolz
12}:
13
14buildPythonPackage rec {
15 pname = "in-n-out";
16 version = "0.1.8";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.8";
20
21 src = fetchPypi {
22 pname = "in_n_out";
23 inherit version;
24 hash = "sha256-gWKvh4fmgutLNtBH+RQZnYDxEk46QUIM1T3mgOfQolQ=";
25 };
26
27 nativeBuildInputs = [
28 cython_3
29 hatchling
30 hatch-vcs
31 ];
32
33 propagatedBuildInputs = [
34 future
35 ];
36
37 nativeCheckInputs = [
38 pytestCheckHook
39 toolz
40 ];
41
42 pythonImportsCheck = [
43 "in_n_out"
44 ];
45
46 disabledTestPaths = lib.optionals (pythonAtLeast "3.11") [
47 # Fatal Python error
48 "tests/test_injection.py"
49 "tests/test_processors.py"
50 "tests/test_providers.py"
51 "tests/test_store.py"
52 ];
53
54 meta = with lib; {
55 description = "Module for dependency injection and result processing";
56 homepage = "https://github.com/pyapp-kit/in-n-out";
57 changelog = "https://github.com/pyapp-kit/in-n-out/blob/v${version}/CHANGELOG.md";
58 license = licenses.bsd3;
59 maintainers = with maintainers; [ fab ];
60 };
61}