about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-04-08 15:40:32 +0200
committerGitHub <noreply@github.com>2021-04-08 15:40:32 +0200
commitf9544583b6702ec234c1f36f8cc3d6c23295c76a (patch)
treee45f15d61b2fc720f530a0caba926cee8e1361da
parent6302dc5955ce1088ba94ea9ba76d1e03cab4da47 (diff)
parent4cdb34f8aa4283d4b78efb8ac936581e67581727 (diff)
downloadnixlib-f9544583b6702ec234c1f36f8cc3d6c23295c76a.tar
nixlib-f9544583b6702ec234c1f36f8cc3d6c23295c76a.tar.gz
nixlib-f9544583b6702ec234c1f36f8cc3d6c23295c76a.tar.bz2
nixlib-f9544583b6702ec234c1f36f8cc3d6c23295c76a.tar.lz
nixlib-f9544583b6702ec234c1f36f8cc3d6c23295c76a.tar.xz
nixlib-f9544583b6702ec234c1f36f8cc3d6c23295c76a.tar.zst
nixlib-f9544583b6702ec234c1f36f8cc3d6c23295c76a.zip
Merge pull request #118584 from fabaff/nats
-rw-r--r--pkgs/development/python-modules/asyncio-nats-client/default.nix50
-rw-r--r--pkgs/development/python-modules/nats-python/default.nix46
-rw-r--r--pkgs/top-level/python-packages.nix4
3 files changed, 100 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/asyncio-nats-client/default.nix b/pkgs/development/python-modules/asyncio-nats-client/default.nix
new file mode 100644
index 000000000000..a7feac7312f5
--- /dev/null
+++ b/pkgs/development/python-modules/asyncio-nats-client/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, ed25519
+, fetchFromGitHub
+, nats-server
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "asyncio-nats-client";
+  version = "0.11.4";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "nats-io";
+    repo = "nats.py";
+    rev = "v${version}";
+    sha256 = "1aj57xi2rj1xswq8air13xdsll1ybpi0nmz5f6jq01azm0zy9xyd";
+  };
+
+  propagatedBuildInputs = [
+    ed25519
+  ];
+
+  checkInputs = [
+    nats-server
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=nats --cov-report html" ""
+  '';
+
+  disabledTests = [
+    # RuntimeError: Event loop is closed
+    "test_subscribe_no_echo"
+    "test_reconnect_to_new_server_with_auth"
+  ];
+
+  pythonImportsCheck = [ "nats.aio" ];
+
+  meta = with lib; {
+    description = "Python client for NATS.io";
+    homepage = "https://github.com/nats-io/nats.py";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/nats-python/default.nix b/pkgs/development/python-modules/nats-python/default.nix
new file mode 100644
index 000000000000..5bf5b2a6d21c
--- /dev/null
+++ b/pkgs/development/python-modules/nats-python/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "nats-python";
+  version = "0.8.0";
+  disabled = pythonOlder "3.6";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "Gr1N";
+    repo = "nats-python";
+    rev = version;
+    sha256 = "1j7skyxldir3mphvnsyhjxmf3cimv4h7n5v58jl2gff4yd0hdw7g";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  patches = [
+    # Switch to poetry-core, https://github.com/Gr1N/nats-python/pull/19
+    (fetchpatch {
+      name = "use-poetry-core.patch";
+      url = "https://github.com/Gr1N/nats-python/commit/71b25b324212dccd7fc06ba3914491adba22e83f.patch";
+      sha256 = "1fip1qpzk2ka7qgkrdpdr6vnrnb1p8cwapa51xp0h26nm7yis1gl";
+    })
+  ];
+
+  # Tests require a running NATS server
+  doCheck = false;
+
+  pythonImportsCheck = [ "pynats" ];
+
+  meta = with lib; {
+    description = "Python client for NATS messaging system";
+    homepage = "https://github.com/Gr1N/nats-python";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 7489fc234387..bfb666b1ae0b 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -546,6 +546,8 @@ in {
 
   asyncio-mqtt = callPackage ../development/python-modules/asyncio_mqtt { };
 
+  asyncio-nats-client = callPackage ../development/python-modules/asyncio-nats-client { };
+
   asyncio-throttle = callPackage ../development/python-modules/asyncio-throttle { };
 
   asyncpg = callPackage ../development/python-modules/asyncpg { };
@@ -4527,6 +4529,8 @@ in {
 
   nassl = callPackage ../development/python-modules/nassl { };
 
+  nats-python = callPackage ../development/python-modules/nats-python { };
+
   natsort = callPackage ../development/python-modules/natsort { };
 
   naturalsort = callPackage ../development/python-modules/naturalsort { };