1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 python-dateutil,
7 typing-extensions,
8 websockets,
9 aiohttp,
10 pytestCheckHook,
11 python-dotenv,
12}:
13
14buildPythonPackage rec {
15 pname = "realtime-py";
16 version = "2.5.2";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "supabase";
21 repo = "realtime-py";
22 rev = "v${version}";
23 hash = "sha256-NFxWcnt/zpgDehacqK7QlXhmjrh6JoA6xh+sFjD/tt0=";
24 };
25
26 dependencies = [
27 python-dateutil
28 typing-extensions
29 websockets
30 aiohttp
31 ];
32
33 pythonRelaxDeps = [
34 "websockets"
35 "aiohttp"
36 "typing-extensions"
37 ];
38
39 # Can't run all the tests due to infinite loop in pytest-asyncio
40 nativeBuildInputs = [
41 pytestCheckHook
42 python-dotenv
43 ];
44
45 pythonImportsCheck = [ "realtime" ];
46
47 build-system = [ poetry-core ];
48
49 doCheck = false;
50
51 meta = {
52 homepage = "https://github.com/supabase/realtime-py";
53 license = lib.licenses.mit;
54 description = "Python Realtime Client for Supabase";
55 maintainers = with lib.maintainers; [ siegema ];
56 };
57}