nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 aiohttp,
5 buildPythonPackage,
6 ed25519,
7 fetchFromGitHub,
8 nats-server,
9 nkeys,
10 pytestCheckHook,
11 setuptools,
12 uvloop,
13}:
14
15buildPythonPackage rec {
16 pname = "nats-py";
17 version = "2.12.0";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "nats-io";
22 repo = "nats.py";
23 tag = "v${version}";
24 hash = "sha256-HQtoFyw3Gi/lIQFVrFvRtWWzHTY+TchZYKqTiHfUWFk=";
25 };
26
27 build-system = [ setuptools ];
28
29 dependencies = [ ed25519 ];
30
31 optional-dependencies = {
32 aiohttp = [ aiohttp ];
33 nkeys = [ nkeys ];
34 # fast_parse = [ fast-mail-parser ];
35 };
36
37 nativeCheckInputs = [
38 nats-server
39 pytestCheckHook
40 uvloop
41 ];
42
43 disabledTests = [
44 # Timeouts
45 "ClientTLS"
46 # AssertionError
47 "test_fetch_n"
48 "test_kv_simple"
49 "test_pull_subscribe_limits"
50 "test_stream_management"
51 "test_subscribe_no_echo"
52 # Tests fail on hydra, often Time-out
53 "test_subscribe_iterate_next_msg"
54 "test_ordered_consumer_larger_streams"
55 "test_object_file_basics"
56 # Should be safe to remove on next version upgrade (from 2.11.0)
57 # https://github.com/nats-io/nats.py/pull/728
58 "test_object_list"
59 ]
60 ++ lib.optionals stdenv.hostPlatform.isDarwin [
61 "test_subscribe_iterate_next_msg"
62 "test_buf_size_force_flush_timeout"
63 ];
64
65 pythonImportsCheck = [ "nats" ];
66
67 meta = {
68 description = "Python client for NATS.io";
69 homepage = "https://github.com/nats-io/nats.py";
70 changelog = "https://github.com/nats-io/nats.py/releases/tag/${src.tag}";
71 license = lib.licenses.asl20;
72 maintainers = with lib.maintainers; [ fab ];
73 };
74}