lavendly 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,82 @@
1
+ Metadata-Version: 2.4
2
+ Name: lavendly
3
+ Version: 0.0.1
4
+ Summary: Official Python SDK for Lavendly - generate AI video with one API call.
5
+ Author: Lavendly
6
+ License: MIT
7
+ Project-URL: Homepage, https://docs.lavendly.ai/sdks/python
8
+ Project-URL: Repository, https://github.com/barlou83/lavendly
9
+ Project-URL: Documentation, https://docs.lavendly.ai
10
+ Keywords: lavendly,ai-video,sdk
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Requires-Python: >=3.9
19
+ Description-Content-Type: text/markdown
20
+ Requires-Dist: httpx>=0.24
21
+
22
+ # lavendly
23
+
24
+ Official Python SDK for Lavendly.
25
+
26
+ ```bash
27
+ pip install lavendly
28
+ ```
29
+
30
+ ```python
31
+ from lavendly import Lavendly
32
+
33
+ vs = Lavendly(api_key="lv_...")
34
+
35
+ wf = vs.workflows.create(
36
+ name="Fox in a bookshop",
37
+ shots=[{"prompt": "a sleepy fox in a bookshop", "duration": 5}],
38
+ )
39
+
40
+ video = vs.renders.run(wf["id"])
41
+ print(video.url)
42
+ ```
43
+
44
+ ## Highlights
45
+
46
+ - **Sync + async.** Same surface; `Lavendly` and `AsyncLavendly`.
47
+ - **Idempotent by default.** Every mutating method accepts `idempotency_key`.
48
+ - **One-call renders.** `vs.renders.run()` creates + polls to completion.
49
+ - **Tool-use dispatcher.** `vs.call(operation, args)` for the Anthropic SDK tool_use pattern.
50
+ - **Bundled skills.** `from lavendly.skills import load_skill` returns the markdown body of `storyteller`, `multi-clip`, `cost-aware`.
51
+
52
+ ## Async
53
+
54
+ ```python
55
+ import asyncio
56
+ from lavendly import AsyncLavendly
57
+
58
+ async def main():
59
+ async with AsyncLavendly(api_key="...") as lavendly:
60
+ wf = await vs.workflows.create(name="x", shots=[...])
61
+ return await vs.renders.run(wf["id"])
62
+
63
+ result = asyncio.run(main())
64
+ ```
65
+
66
+ ## Errors
67
+
68
+ ```python
69
+ from lavendly import LavendlyError
70
+ try:
71
+ vs.workflows.create(name="...", shots=[...])
72
+ except LavendlyError as e:
73
+ print(e.code, e.status, e.details)
74
+ ```
75
+
76
+ ## Full docs
77
+
78
+ <https://docs.lavendly.ai/sdks/python>
79
+
80
+ ## License
81
+
82
+ MIT
@@ -0,0 +1,4 @@
1
+ lavendly-0.0.1.dist-info/METADATA,sha256=A_tqaW8RcmV_5dGEcrmjiyOp0m1dBZLjp6uEX40msPE,2147
2
+ lavendly-0.0.1.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
3
+ lavendly-0.0.1.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
4
+ lavendly-0.0.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+