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