1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 setuptools,
6 setuptools-scm,
7 dill,
8 dnslib,
9 dnspython,
10 plux,
11 pyaes,
12 pyjwt,
13 pyotp,
14 python-jose,
15 requests,
16 python-dateutil,
17 tabulate,
18
19 # use for testing promoted localstack
20 pkgs,
21}:
22
23buildPythonPackage rec {
24 pname = "localstack-ext";
25 version = "4.8.0";
26 pyproject = true;
27
28 src = fetchPypi {
29 pname = "localstack_ext";
30 inherit version;
31 hash = "sha256-XW7ZjZ1Y/yIYcSxFEc5XeED5QYsE+k/AOLEymYpl7KY=";
32 };
33
34 build-system = [
35 setuptools
36 setuptools-scm
37 ];
38
39 pythonRemoveDeps = [
40 # Avoid circular dependency
41 "localstack"
42 "build"
43 ];
44
45 dependencies = [
46 dill
47 dnslib
48 dnspython
49 plux
50 pyaes
51 pyjwt
52 pyotp
53 python-dateutil
54 python-jose
55 requests
56 tabulate
57 ]
58 ++ python-jose.optional-dependencies.cryptography;
59
60 pythonImportsCheck = [ "localstack" ];
61
62 # No tests in repo
63 doCheck = false;
64
65 passthru.tests = {
66 inherit (pkgs) localstack;
67 };
68
69 meta = {
70 description = "Extensions for LocalStack";
71 homepage = "https://github.com/localstack/localstack";
72 license = lib.licenses.asl20;
73 maintainers = [ ];
74 };
75}