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