summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/python3-eventlib/default.nix
blob: db72b957efb4c230c2c4adefc25ef69524d75a79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{
  lib,
  fetchFromGitHub,
  buildPythonPackage,
  isPy3k,
  zope-interface,
  twisted,
  greenlet,
}:

buildPythonPackage rec {
  pname = "python3-eventlib";
  version = "0.3.0";
  format = "setuptools";

  disabled = !isPy3k;

  src = fetchFromGitHub {
    owner = "AGProjects";
    repo = "python3-eventlib";
    rev = version;
    hash = "sha256-LFW3rCGa7A8tk6SjgYgjkLQ+72GE2WN8wG+XkXYTAoQ=";
  };

  propagatedBuildInputs = [
    zope-interface
    twisted
    greenlet
  ];

  pythonImportsCheck = [ "eventlib" ];

  meta = {
    description = "Networking library written in Python";
    homepage = "https://github.com/AGProjects/python3-eventlib";
    license = lib.licenses.lgpl21Plus;
    maintainers = with lib.maintainers; [ chanley ];
    longDescription = ''
      Eventlib is a networking library written in Python. It achieves high
      scalability by using non-blocking I/O while at the same time retaining
      high programmer usability by using coroutines to make the non-blocking io
      operations appear blocking at the source code level.
    '';
  };
}