swarmauri_xmp_mp4 0.1.1.dev31__tar.gz

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,2 @@
1
+ This project is licensed under the Apache License 2.0.
2
+ See the root LICENSE file of the swarmauri-sdk repository.
@@ -0,0 +1,87 @@
1
+ Metadata-Version: 2.4
2
+ Name: swarmauri_xmp_mp4
3
+ Version: 0.1.1.dev31
4
+ Summary: ISO-BMFF handler scaffold for embedding and extracting XMP packets in Swarmauri runtimes.
5
+ License-Expression: Apache-2.0
6
+ License-File: LICENSE
7
+ Keywords: swarmauri,sdk,standards,xmp,mp4
8
+ Author: Jacob Stewart
9
+ Author-email: jacob@swarmauri.com
10
+ Requires-Python: >=3.10,<3.13
11
+ Classifier: License :: OSI Approved :: Apache Software License
12
+ Classifier: Natural Language :: English
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Development Status :: 2 - Pre-Alpha
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3 :: Only
21
+ Requires-Dist: swarmauri_base
22
+ Requires-Dist: swarmauri_core
23
+ Project-URL: Homepage, https://github.com/swarmauri/swarmauri-sdk
24
+ Description-Content-Type: text/markdown
25
+
26
+ ![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/3d4d1cfa949399d7019ae9d8f296afba773dfb7f/assets/swarmauri.brand.theme.svg)
27
+
28
+
29
+ <p align="center">
30
+ <a href="https://pypi.org/project/swarmauri_xmp_mp4/">
31
+ <img src="https://img.shields.io/pypi/dm/swarmauri_xmp_mp4" alt="PyPI - Downloads"/></a>
32
+ <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_xmp_mp4/">
33
+ <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_xmp_mp4.svg"/></a>
34
+ <a href="https://pypi.org/project/swarmauri_xmp_mp4/">
35
+ <img src="https://img.shields.io/pypi/pyversions/swarmauri_xmp_mp4" alt="PyPI - Python Version"/></a>
36
+ <a href="https://pypi.org/project/swarmauri_xmp_mp4/">
37
+ <img src="https://img.shields.io/pypi/l/swarmauri_xmp_mp4" alt="PyPI - License"/></a>
38
+ <a href="https://pypi.org/project/swarmauri_xmp_mp4/">
39
+ <img src="https://img.shields.io/pypi/v/swarmauri_xmp_mp4?label=swarmauri_xmp_mp4&color=green" alt="PyPI - swarmauri_xmp_mp4"/></a>
40
+ </p>
41
+
42
+ ---
43
+
44
+ # swarmauri_xmp_mp4
45
+
46
+ `swarmauri_xmp_mp4` publishes the `MP4XMP` scaffold so ISO-BMFF containers (MP4, MOV, HEIF, AVIF) can eventually embed XMP packets via UUID boxes.
47
+
48
+ ## Features
49
+
50
+ - **Design-first** – establishes the interface contract for ISO-BMFF metadata operations.
51
+ - **Registry-native** – extends `EmbedXmpBase`, ensuring managers can discover it automatically.
52
+ - **Expectation management** – explicit `NotImplementedError` keeps integrators aware of remaining work.
53
+
54
+ ## Installation
55
+
56
+ ```bash
57
+ # pip
58
+ pip install swarmauri_xmp_mp4
59
+
60
+ # uv
61
+ uv add swarmauri_xmp_mp4
62
+ ```
63
+
64
+ ## Usage
65
+
66
+ ```python
67
+ from swarmauri_xmp_mp4 import MP4XMP
68
+
69
+ handler = MP4XMP()
70
+
71
+ try:
72
+ handler.write_xmp(b"\x00\x00\x00\x18ftypmp42...", "<rdf:RDF>...</rdf:RDF>")
73
+ except NotImplementedError:
74
+ print("MP4 XMP support is forthcoming.")
75
+ ```
76
+
77
+ ### Why it works
78
+
79
+ - **Design-first** – establishes the interface contract for ISO-BMFF metadata operations.
80
+ - **Registry-native** – extends `EmbedXmpBase`, ensuring managers can discover it automatically.
81
+ - **Expectation management** – explicit `NotImplementedError` keeps integrators aware of remaining work.
82
+
83
+ ## Project Resources
84
+
85
+ - Source: <https://github.com/swarmauri/swarmauri-sdk>
86
+ - License: Apache 2.0
87
+
@@ -0,0 +1,61 @@
1
+ ![Swarmauri Logo](https://github.com/swarmauri/swarmauri-sdk/blob/3d4d1cfa949399d7019ae9d8f296afba773dfb7f/assets/swarmauri.brand.theme.svg)
2
+
3
+
4
+ <p align="center">
5
+ <a href="https://pypi.org/project/swarmauri_xmp_mp4/">
6
+ <img src="https://img.shields.io/pypi/dm/swarmauri_xmp_mp4" alt="PyPI - Downloads"/></a>
7
+ <a href="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_xmp_mp4/">
8
+ <img alt="Hits" src="https://hits.sh/github.com/swarmauri/swarmauri-sdk/tree/master/pkgs/standards/swarmauri_xmp_mp4.svg"/></a>
9
+ <a href="https://pypi.org/project/swarmauri_xmp_mp4/">
10
+ <img src="https://img.shields.io/pypi/pyversions/swarmauri_xmp_mp4" alt="PyPI - Python Version"/></a>
11
+ <a href="https://pypi.org/project/swarmauri_xmp_mp4/">
12
+ <img src="https://img.shields.io/pypi/l/swarmauri_xmp_mp4" alt="PyPI - License"/></a>
13
+ <a href="https://pypi.org/project/swarmauri_xmp_mp4/">
14
+ <img src="https://img.shields.io/pypi/v/swarmauri_xmp_mp4?label=swarmauri_xmp_mp4&color=green" alt="PyPI - swarmauri_xmp_mp4"/></a>
15
+ </p>
16
+
17
+ ---
18
+
19
+ # swarmauri_xmp_mp4
20
+
21
+ `swarmauri_xmp_mp4` publishes the `MP4XMP` scaffold so ISO-BMFF containers (MP4, MOV, HEIF, AVIF) can eventually embed XMP packets via UUID boxes.
22
+
23
+ ## Features
24
+
25
+ - **Design-first** – establishes the interface contract for ISO-BMFF metadata operations.
26
+ - **Registry-native** – extends `EmbedXmpBase`, ensuring managers can discover it automatically.
27
+ - **Expectation management** – explicit `NotImplementedError` keeps integrators aware of remaining work.
28
+
29
+ ## Installation
30
+
31
+ ```bash
32
+ # pip
33
+ pip install swarmauri_xmp_mp4
34
+
35
+ # uv
36
+ uv add swarmauri_xmp_mp4
37
+ ```
38
+
39
+ ## Usage
40
+
41
+ ```python
42
+ from swarmauri_xmp_mp4 import MP4XMP
43
+
44
+ handler = MP4XMP()
45
+
46
+ try:
47
+ handler.write_xmp(b"\x00\x00\x00\x18ftypmp42...", "<rdf:RDF>...</rdf:RDF>")
48
+ except NotImplementedError:
49
+ print("MP4 XMP support is forthcoming.")
50
+ ```
51
+
52
+ ### Why it works
53
+
54
+ - **Design-first** – establishes the interface contract for ISO-BMFF metadata operations.
55
+ - **Registry-native** – extends `EmbedXmpBase`, ensuring managers can discover it automatically.
56
+ - **Expectation management** – explicit `NotImplementedError` keeps integrators aware of remaining work.
57
+
58
+ ## Project Resources
59
+
60
+ - Source: <https://github.com/swarmauri/swarmauri-sdk>
61
+ - License: Apache 2.0
@@ -0,0 +1,51 @@
1
+ [project]
2
+ name = "swarmauri_xmp_mp4"
3
+ version = "0.1.1.dev31"
4
+ description = "ISO-BMFF handler scaffold for embedding and extracting XMP packets in Swarmauri runtimes."
5
+ license = "Apache-2.0"
6
+ readme = "README.md"
7
+ requires-python = ">=3.10,<3.13"
8
+ classifiers = [
9
+ "License :: OSI Approved :: Apache Software License",
10
+ "Natural Language :: English",
11
+ "Programming Language :: Python :: 3.10",
12
+ "Programming Language :: Python :: 3.11",
13
+ "Programming Language :: Python :: 3.12",
14
+ "Programming Language :: Python :: 3.13",
15
+ "Development Status :: 2 - Pre-Alpha",
16
+ "Programming Language :: Python",
17
+ "Programming Language :: Python :: 3",
18
+ "Programming Language :: Python :: 3 :: Only",
19
+ ]
20
+ authors = [{ name = "Jacob Stewart", email = "jacob@swarmauri.com" }]
21
+ dependencies = [
22
+ "swarmauri_core",
23
+ "swarmauri_base",
24
+ ]
25
+ keywords = [
26
+ 'swarmauri',
27
+ 'sdk',
28
+ 'standards',
29
+ 'xmp',
30
+ 'mp4',
31
+ ]
32
+
33
+ [project.urls]
34
+ Homepage = "https://github.com/swarmauri/swarmauri-sdk"
35
+
36
+ [project.entry-points.'swarmauri.xmp_handlers']
37
+ MP4XMP = "swarmauri_xmp_mp4:MP4XMP"
38
+
39
+ [tool.uv.sources]
40
+ swarmauri_core = { workspace = true }
41
+ swarmauri_base = { workspace = true }
42
+
43
+ [build-system]
44
+ requires = ["poetry-core>=1.0.0"]
45
+ build-backend = "poetry.core.masonry.api"
46
+
47
+ [dependency-groups]
48
+ dev = [
49
+ "pytest>=8.0",
50
+ "ruff>=0.9",
51
+ ]
@@ -0,0 +1,37 @@
1
+ """ISO-BMFF XMP handler scaffold."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import ClassVar, Tuple
6
+
7
+ from swarmauri_base import register_type
8
+ from swarmauri_base.xmp import EmbedXmpBase
9
+
10
+
11
+ @register_type(resource_type=EmbedXmpBase)
12
+ class MP4XMP(EmbedXmpBase):
13
+ """Placeholder handler for ISO-BMFF containers."""
14
+
15
+ SUPPORTED_EXTENSIONS: ClassVar[Tuple[str, ...]] = (
16
+ ".mp4",
17
+ ".mov",
18
+ ".heic",
19
+ ".heif",
20
+ ".avif",
21
+ )
22
+
23
+ def supports(self, header: bytes, path: str) -> bool:
24
+ lower = path.lower()
25
+ return lower.endswith(self.SUPPORTED_EXTENSIONS)
26
+
27
+ def read_xmp(self, data: bytes) -> str | None:
28
+ raise NotImplementedError("ISO-BMFF XMP read not implemented yet")
29
+
30
+ def write_xmp(self, data: bytes, xmp_xml: str) -> bytes:
31
+ raise NotImplementedError("ISO-BMFF XMP write not implemented yet")
32
+
33
+ def remove_xmp(self, data: bytes) -> bytes:
34
+ raise NotImplementedError("ISO-BMFF XMP remove not implemented yet")
35
+
36
+
37
+ __all__ = ["MP4XMP"]