1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 poetry-core,
7 pytestCheckHook,
8 pytest-mock,
9 typing-extensions,
10}:
11
12buildPythonPackage rec {
13 pname = "pykka";
14 version = "4.0.2";
15 format = "pyproject";
16
17 disabled = pythonOlder "3.8";
18
19 src = fetchFromGitHub {
20 owner = "jodal";
21 repo = pname;
22 rev = "refs/tags/v${version}";
23 hash = "sha256-2baFwZPNuVU39Kt5B8QvGKu7jMbg+GZ3ROoTxzPOXac=";
24 };
25
26 nativeBuildInputs = [ poetry-core ];
27
28 propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [ typing-extensions ];
29
30 nativeCheckInputs = [
31 pytestCheckHook
32 pytest-mock
33 ];
34
35 pythonImportsCheck = [ "pykka" ];
36
37 meta = with lib; {
38 homepage = "https://www.pykka.org/";
39 description = "A Python implementation of the actor model";
40 changelog = "https://github.com/jodal/pykka/releases/tag/v${version}";
41 maintainers = with maintainers; [ ];
42 license = licenses.asl20;
43 };
44}