Metadata-Version: 2.5
Name: laidline-bench
Version: 1.0.0
Summary: Robustness and calibration benchmarks for the Laidline watermarks; the code behind `laidline bench`.
Project-URL: Homepage, https://laidline.com
Project-URL: Documentation, https://laidline.com/docs/quickstart
Project-URL: Changelog, https://laidline.com/docs/changelog
Author: Laidline LLC
License-Expression: LicenseRef-Laidline-Source-Available
License-File: LICENSE
Keywords: ai-act,benchmark,c2pa,provenance,robustness,watermark
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia
Classifier: Topic :: Security :: Cryptography
Requires-Python: >=3.12
Requires-Dist: laidline[audio,image,text,video]<2,>=1.0
Provides-Extra: diffusers
Requires-Dist: diffusers<0.41,>=0.40; extra == 'diffusers'
Description-Content-Type: text/markdown

# laidline-bench

Robustness and calibration benchmarks for the Laidline watermarks: the code behind `laidline bench`, plus the
calibration and replay tools that produced the shipped decoder thresholds. The `laidline` package itself does not
depend on it; install it to re-measure a mark on your own media or to reproduce the published numbers.

```bash
pip install laidline-bench        # pulls in laidline[image,audio,video,text]
laidline bench image --corpus ./photos --n 50
laidline bench audio --corpus ./speech --modes streaming
laidline bench video --corpus ./clips --device cuda
laidline bench text  --corpus ./c4-shard.json
```

- Each suite embeds a watermark, applies a set of transforms (re-encoding, resizing, cropping, noise, codecs, text
  edits) and decodes again. The result is a JSON file with per-transform detection rates; `--resume` continues an
  interrupted run from its checkpoint, `--out` chooses where the result goes.
- `--device cpu|cuda|auto` picks the torch device (video also takes `cuda:N`). A GPU run uses strict float32 and
  records the numerics next to the result.
- Without `laidline-bench`, `laidline bench` exits with status 2 and prints the install command.
- The image suite's img2img regeneration sweep needs a Stable Diffusion pipeline: `pip install laidline-bench[diffusers]`.
- Modules are importable as `laidline_bench.image_robustness`, `laidline_bench.audio_robustness` and so on; each has a
  `main(argv)` taking the same flags as the command.

The methodology and the numbers are in the robustness and benchmark pages of the documentation:
https://laidline.com/docs/robustness.
