1{
2 buildPythonPackage,
3 fetchFromGitHub,
4 httpx,
5 lib,
6 poetry-core,
7 pyaudio,
8 pydantic,
9 pydantic-core,
10 requests,
11 typing-extensions,
12 websockets,
13}:
14
15let
16 version = "2.16.0";
17 tag = "v${version}";
18in
19buildPythonPackage {
20 pname = "elevenlabs";
21 inherit version;
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "elevenlabs";
26 repo = "elevenlabs-python";
27 inherit tag;
28 hash = "sha256-YKmOLJsaU7a1Kf6JzCETqtQTRyarltxMQtrobQpkCn4=";
29 };
30
31 build-system = [ poetry-core ];
32
33 dependencies = [
34 httpx
35 pydantic
36 pydantic-core
37 requests
38 typing-extensions
39 websockets
40 ];
41
42 optional-dependencies = {
43 pyaudio = [ pyaudio ];
44 };
45
46 pythonImportsCheck = [ "elevenlabs" ];
47
48 # tests access the API on the internet
49 doCheck = false;
50
51 meta = {
52 changelog = "https://github.com/elevenlabs/elevenlabs-python/releases/tag/${tag}";
53 description = "Official Python API for ElevenLabs Text to Speech";
54 homepage = "https://github.com/elevenlabs/elevenlabs-python";
55 license = lib.licenses.mit;
56 maintainers = with lib.maintainers; [ dotlambda ];
57 };
58}