1{
2 lib,
3 buildPythonPackage,
4 cython,
5 fetchPypi,
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.2.1";
17 pyproject = true;
18
19 disabled = pythonOlder "3.8";
20
21 src = fetchPypi {
22 pname = "in_n_out";
23 inherit version;
24 hash = "sha256-Q83it96YHUGm1wYYore9mJSBCVkipT6tTcdfK71d/+o=";
25 };
26
27 build-system = [
28 cython
29 hatchling
30 hatch-vcs
31 ];
32
33 nativeCheckInputs = [
34 pytestCheckHook
35 toolz
36 ];
37
38 pythonImportsCheck = [ "in_n_out" ];
39
40 disabledTestPaths = lib.optionals (pythonAtLeast "3.11") [
41 # Fatal Python error
42 "tests/test_injection.py"
43 "tests/test_processors.py"
44 "tests/test_providers.py"
45 "tests/test_store.py"
46 ];
47
48 meta = with lib; {
49 description = "Module for dependency injection and result processing";
50 homepage = "https://github.com/pyapp-kit/in-n-out";
51 changelog = "https://github.com/pyapp-kit/in-n-out/blob/v${version}/CHANGELOG.md";
52 license = licenses.bsd3;
53 maintainers = with maintainers; [ fab ];
54 };
55}