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}