laidline-diffusers 1.0.5__tar.gz → 1.1.0__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.
- {laidline_diffusers-1.0.5 → laidline_diffusers-1.1.0}/PKG-INFO +10 -7
- {laidline_diffusers-1.0.5 → laidline_diffusers-1.1.0}/README.md +8 -5
- laidline_diffusers-1.1.0/laidline_diffusers/__init__.py +7 -0
- {laidline_diffusers-1.0.5 → laidline_diffusers-1.1.0}/pyproject.toml +2 -2
- laidline_diffusers-1.0.5/laidline_diffusers/__init__.py +0 -6
- {laidline_diffusers-1.0.5 → laidline_diffusers-1.1.0}/.gitignore +0 -0
- {laidline_diffusers-1.0.5 → laidline_diffusers-1.1.0}/LICENSE +0 -0
- {laidline_diffusers-1.0.5 → laidline_diffusers-1.1.0}/laidline_diffusers/attach.py +0 -0
- {laidline_diffusers-1.0.5 → laidline_diffusers-1.1.0}/laidline_diffusers/py.typed +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: laidline-diffusers
|
|
3
|
-
Version: 1.0
|
|
4
|
-
Summary: `attach(pipe)` marks
|
|
3
|
+
Version: 1.1.0
|
|
4
|
+
Summary: `attach(pipe)` marks the images a diffusers pipeline returns (watermark, evidence, and C2PA on the signed `out.assets`) and replaces the SDXL invisible watermarker
|
|
5
5
|
Project-URL: Homepage, https://laidline.com
|
|
6
6
|
Project-URL: Documentation, https://laidline.com/docs/quickstart
|
|
7
7
|
Project-URL: Changelog, https://laidline.com/docs/changelog
|
|
@@ -26,8 +26,10 @@ Description-Content-Type: text/markdown
|
|
|
26
26
|
|
|
27
27
|
# laidline-diffusers
|
|
28
28
|
|
|
29
|
-
`attach(pipe, marker)` marks
|
|
30
|
-
entry),
|
|
29
|
+
`attach(pipe, marker)` marks the images a diffusers pipeline returns (PixelSeal watermark by default, C2PA manifest,
|
|
30
|
+
evidence entry), once per image, and replaces SDXL's artifact-prone invisible watermarker. An image under 128 px on its
|
|
31
|
+
short side, or below the PSNR floor, is signed without the watermark; a flat or solid-colour image whose mark does
|
|
32
|
+
not read back is signed without it and logged as `unmarked`. `detach(pipe)` undoes it.
|
|
31
33
|
|
|
32
34
|
```python
|
|
33
35
|
from laidline import Marker
|
|
@@ -44,8 +46,9 @@ out.images[0] # the same pixels, watermark only (a man
|
|
|
44
46
|
- `out.images` carry the watermark only, in the original type, shape and dtype; `out.assets[i]` (`MarkedAsset`) holds
|
|
45
47
|
the signed bytes (`data`, `asset_id`, `manifest_id`, `save(path)`). Store or serve `asset.data`.
|
|
46
48
|
- SDXL's `StableDiffusionXLWatermarker` is replaced (`pipe.watermark = None`; `replace_watermarker=False` keeps it).
|
|
47
|
-
- A marking failure raises `MarkError`: no unmarked image is returned.
|
|
49
|
+
- A marking failure raises `MarkError`: no unmarked image is returned, apart from the cases above.
|
|
48
50
|
|
|
49
51
|
Status: proven on diffusers 0.40.0 tiny random pipelines on CPU (`hf-internal-testing/tiny-stable-diffusion-torch`
|
|
50
|
-
and `hf-internal-testing/tiny-stable-diffusion-xl-pipe`)
|
|
51
|
-
|
|
52
|
+
and `hf-internal-testing/tiny-stable-diffusion-xl-pipe`), and on 21 Oct 2026 on `stabilityai/stable-diffusion-xl-base-1.0`
|
|
53
|
+
(fp16, RTX 5080): four 1024 px images, each detected as marked at grade B, with a development signing chain and unkeyed
|
|
54
|
+
payloads. See https://laidline.com/docs/integrations/diffusers.
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# laidline-diffusers
|
|
2
2
|
|
|
3
|
-
`attach(pipe, marker)` marks
|
|
4
|
-
entry),
|
|
3
|
+
`attach(pipe, marker)` marks the images a diffusers pipeline returns (PixelSeal watermark by default, C2PA manifest,
|
|
4
|
+
evidence entry), once per image, and replaces SDXL's artifact-prone invisible watermarker. An image under 128 px on its
|
|
5
|
+
short side, or below the PSNR floor, is signed without the watermark; a flat or solid-colour image whose mark does
|
|
6
|
+
not read back is signed without it and logged as `unmarked`. `detach(pipe)` undoes it.
|
|
5
7
|
|
|
6
8
|
```python
|
|
7
9
|
from laidline import Marker
|
|
@@ -18,8 +20,9 @@ out.images[0] # the same pixels, watermark only (a man
|
|
|
18
20
|
- `out.images` carry the watermark only, in the original type, shape and dtype; `out.assets[i]` (`MarkedAsset`) holds
|
|
19
21
|
the signed bytes (`data`, `asset_id`, `manifest_id`, `save(path)`). Store or serve `asset.data`.
|
|
20
22
|
- SDXL's `StableDiffusionXLWatermarker` is replaced (`pipe.watermark = None`; `replace_watermarker=False` keeps it).
|
|
21
|
-
- A marking failure raises `MarkError`: no unmarked image is returned.
|
|
23
|
+
- A marking failure raises `MarkError`: no unmarked image is returned, apart from the cases above.
|
|
22
24
|
|
|
23
25
|
Status: proven on diffusers 0.40.0 tiny random pipelines on CPU (`hf-internal-testing/tiny-stable-diffusion-torch`
|
|
24
|
-
and `hf-internal-testing/tiny-stable-diffusion-xl-pipe`)
|
|
25
|
-
|
|
26
|
+
and `hf-internal-testing/tiny-stable-diffusion-xl-pipe`), and on 21 Oct 2026 on `stabilityai/stable-diffusion-xl-base-1.0`
|
|
27
|
+
(fp16, RTX 5080): four 1024 px images, each detected as marked at grade B, with a development signing chain and unkeyed
|
|
28
|
+
payloads. See https://laidline.com/docs/integrations/diffusers.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"""``attach(pipe)`` marks the images a diffusers pipeline returns (PixelSeal watermark by default, C2PA manifest on
|
|
2
|
+
saved files, evidence entry) exactly once, and replaces SDXL's artifact-prone invisible watermarker. ``detach(pipe)``
|
|
3
|
+
undoes it."""
|
|
4
|
+
|
|
5
|
+
from .attach import attach, detach, is_attached
|
|
6
|
+
|
|
7
|
+
__all__ = ["attach", "detach", "is_attached"]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "laidline-diffusers"
|
|
3
|
-
version = "1.0
|
|
4
|
-
description = "`attach(pipe)` marks
|
|
3
|
+
version = "1.1.0"
|
|
4
|
+
description = "`attach(pipe)` marks the images a diffusers pipeline returns (watermark, evidence, and C2PA on the signed `out.assets`) and replaces the SDXL invisible watermarker"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
7
7
|
authors = [{name = "Laidline LLC"}]
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"""``attach(pipe)`` marks every image a diffusers pipeline returns (TrustMark watermark, C2PA manifest, evidence entry)
|
|
2
|
-
exactly once, and replaces SDXL's artifact-prone invisible watermarker. ``detach(pipe)`` undoes it."""
|
|
3
|
-
|
|
4
|
-
from .attach import attach, detach, is_attached
|
|
5
|
-
|
|
6
|
-
__all__ = ["attach", "detach", "is_attached"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|