1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 poetry-core,
8
9 # dependencies
10 attrs,
11 httpcore,
12 httpx,
13 packaging,
14 protobuf,
15 python-dateutil,
16 typing-extensions,
17}:
18
19buildPythonPackage rec {
20 pname = "e2b";
21 version = "1.5.1";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "e2b-dev";
26 repo = "E2B";
27 tag = "@e2b/python-sdk@${version}";
28 hash = "sha256-6THRc4rv/mzOWbsN1FpUu56kjvHvVBssK2glNoGdSzI=";
29 };
30
31 sourceRoot = "${src.name}/packages/python-sdk";
32
33 build-system = [
34 poetry-core
35 ];
36
37 pythonRelaxDeps = [
38 "protobuf"
39 ];
40
41 dependencies = [
42 attrs
43 httpcore
44 httpx
45 packaging
46 protobuf
47 python-dateutil
48 typing-extensions
49 ];
50
51 pythonImportsCheck = [ "e2b" ];
52
53 # Tests require an API key
54 # e2b.exceptions.AuthenticationException: API key is required, please visit the Team tab at https://e2b.dev/dashboard to get your API key.
55 doCheck = false;
56
57 meta = {
58 description = "E2B SDK that give agents cloud environments";
59 homepage = "https://github.com/e2b-dev/E2B/blob/main/packages/python-sdk";
60 license = lib.licenses.asl20;
61 maintainers = with lib.maintainers; [ GaetanLepage ];
62 };
63}