creative-render-engine 0.7.0__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,31 @@
1
+ from __future__ import annotations
2
+
3
+ from pathlib import Path
4
+
5
+ from .errors import ConfigurationError
6
+
7
+
8
+ class EngineSettings:
9
+ def __init__(self) -> None:
10
+ self._output_root: Path | None = None
11
+
12
+ @property
13
+ def output_root(self) -> Path | None:
14
+ return self._output_root
15
+
16
+ @output_root.setter
17
+ def output_root(self, value: str | Path | None) -> None:
18
+ self._output_root = None if value is None else Path(value).expanduser().resolve()
19
+
20
+ def require_output_root(self) -> Path:
21
+ if self._output_root is None:
22
+ raise ConfigurationError(
23
+ "settings.output_root must be configured before writing files",
24
+ code="output_root_not_configured",
25
+ field_path="settings.output_root",
26
+ )
27
+ self._output_root.mkdir(parents=True, exist_ok=True)
28
+ return self._output_root
29
+
30
+
31
+ settings = EngineSettings()
@@ -0,0 +1,59 @@
1
+ Metadata-Version: 2.4
2
+ Name: creative-render-engine
3
+ Version: 0.7.0
4
+ Summary: Standalone creative image, scroll, and timeline rendering engine
5
+ Keywords: image,video,rendering,subtitle,timeline
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: Programming Language :: Python :: 3.12
9
+ Classifier: Typing :: Typed
10
+ Requires-Python: >=3.12
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: pydantic<3,>=2.12
13
+ Requires-Dist: pillow<12,>=11
14
+ Requires-Dist: numpy<3,>=2
15
+ Requires-Dist: moviepy<3,>=2.2
16
+ Requires-Dist: proglog<1,>=0.1.12
17
+ Requires-Dist: text-block-renderer<4,>=3.2.2
18
+ Provides-Extra: publish
19
+ Requires-Dist: setuptools>=78; extra == "publish"
20
+ Requires-Dist: mypy<2,>=1.19; extra == "publish"
21
+ Requires-Dist: build<2,>=1.2; extra == "publish"
22
+ Requires-Dist: twine<7,>=6; extra == "publish"
23
+
24
+ # Creative Render Engine
25
+
26
+ 独立的创意图片、滚动视频和时间线渲染引擎,提供基于 Pydantic 的任务模型、编译、预览和渲染接口。
27
+
28
+ ## 安装
29
+
30
+ 需要 Python 3.12 或更高版本。
31
+
32
+ ```shell
33
+ python -m pip install creative-render-engine
34
+ ```
35
+
36
+ 发行包名为 `creative-render-engine`,Python 导入名为 `creative_render_engine`。
37
+
38
+ ## 使用
39
+
40
+ ```python
41
+ import creative_render_engine as engine
42
+
43
+ # 获取任务 JSON Schema,查看支持的任务类型和字段。
44
+ schema = engine.render_task_json_schema()
45
+
46
+ # 写入文件前必须配置输出根目录。
47
+ engine.settings.output_root = "./output"
48
+
49
+ # task 为符合 Schema 的任务字典或 RenderTask 模型:
50
+ # plan = engine.compile(task)
51
+ # preview = engine.preview(plan)
52
+ # result = engine.render(plan)
53
+ ```
54
+
55
+ 支持纯图片、图文、滚动和时间线任务,以及时间线字幕生成。字体、图片、音视频等素材由调用方提供,不随包分发;视频处理依赖 MoviePy 和可用的 FFmpeg。
56
+
57
+ ## 发布
58
+
59
+ 本地打包、校验及上传 PyPI 的步骤见源码目录中的 `build_pypi.md`。
@@ -0,0 +1,19 @@
1
+ creative_render_engine/__init__.py,sha256=NYNdDeyNlm1sbwpryzaF4cXG9WOz9tiZEW3x_6N0XEY,1669
2
+ creative_render_engine/api.py,sha256=h3UPcMiB-VXJS_6qYeO-sI_Cr16---bIe6ny36JkqIU,2117
3
+ creative_render_engine/compiler.py,sha256=Uq32ac9KGWeWk9RnSpZQWmn5mn-DQTZrAcJymiH93Rw,53423
4
+ creative_render_engine/errors.py,sha256=Ck3n0xDJbKyrWnOsXf9XJ2Xbk43TlqnQnELqjTyy8eM,1148
5
+ creative_render_engine/hashing.py,sha256=XV7E3pe2kvB2c3ek-W84eMGqEcTY-OoMaqqh16gZcUk,810
6
+ creative_render_engine/output_paths.py,sha256=cE9XHujzcV1VHQHUHhlkMggpHM-VnndGXVRzaeJtXNc,2717
7
+ creative_render_engine/plans.py,sha256=HK2hhDeyMh3Z_pgnb9sTZ7s29mMXdtQ2KEOps3jL2Is,6688
8
+ creative_render_engine/preview.py,sha256=ZDmPktjMoP-E16kyUCddj0SYi7pw4QDJlAYCOZnt2pE,7300
9
+ creative_render_engine/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ creative_render_engine/render.py,sha256=CeMddOuDbWlj9flbHngrjq5TamOPSLhSf6-EBhFjI50,10630
11
+ creative_render_engine/schemas.py,sha256=cnmxXlSgamWHZbKrQLc3pNDoeeRXDaU5gie_fntbyZg,25178
12
+ creative_render_engine/settings.py,sha256=ZKowD1NGRoMRG800MXpIvt2be-nRKZqJDgwAfI_iiqk,909
13
+ creative_render_engine/engines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ creative_render_engine/engines/common.py,sha256=cm3XDrEfqWRss6um8AtZ1H5YqcSB_ci1_40rc-dgDlI,18102
15
+ creative_render_engine/engines/pure_image.py,sha256=g8VLYE4v0WK3gcsLN0YTTTN8Pv4nD7nLGF5JUjHJbfw,3562
16
+ creative_render_engine-0.7.0.dist-info/METADATA,sha256=RBvLhlo4HXpmPMr6z2UTkLR5RodEIf7WVOyFmH9nBTE,2003
17
+ creative_render_engine-0.7.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
18
+ creative_render_engine-0.7.0.dist-info/top_level.txt,sha256=9SHV2hJ8auuZHZVohkfFBX8DW0fU-_CadloGEJrr_bo,23
19
+ creative_render_engine-0.7.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (84.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ creative_render_engine