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