Metadata-Version: 2.5
Name: milkwashy
Version: 1.0.0
Summary: Text-laundering pipeline: segment, rephrase per-chunk across many local LLMs, study watermark survival
Project-URL: Homepage, https://github.com/twardoch/milkwash
Project-URL: Repository, https://github.com/twardoch/milkwash.git
Project-URL: Issues, https://github.com/twardoch/milkwash/issues
Project-URL: Changelog, https://github.com/twardoch/milkwash/blob/main/CHANGELOG.md
Author-email: Adam Twardoch <adam+github@twardoch.com>
License: Apache-2.0
Keywords: llm,lmstudio,openai,paraphrase,sweep,watermark
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Text Processing :: Linguistic
Requires-Python: >=3.10
Requires-Dist: fire>=0.6
Requires-Dist: httpx>=0.27
Requires-Dist: loguru>=0.7
Requires-Dist: milkwashr==1.0.0
Requires-Dist: openai>=1.40
Requires-Dist: pathvalidate>=3.2
Requires-Dist: platformdirs>=4.2
Requires-Dist: python-dotenv>=1.0
Requires-Dist: python-slugify>=8.0
Requires-Dist: rich>=13
Requires-Dist: sentencex>=0.6
Requires-Dist: tomli-w>=1.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == 'dev'
Description-Content-Type: text/markdown

# milkwashy

The Python half of [milkwash](https://github.com/twardoch/milkwash): does an LLM
paraphrase pass wash a statistical text watermark out of a document?

`milkwashy` takes long source texts, splits them into 2–8 sentence chunks,
rewrites every chunk through a randomly assigned rephrase prompt, and repeats
the run against every model a local OpenAI-compatible server can serve. Chunk
assembly is done by the Rust extension [`milkwashr`](https://pypi.org/project/milkwashr/).

```bash
uv pip install milkwashy

milkwashy init_config       # TOML config in the platformdirs location
milkwashy gen_indata        # write the four seed texts to 01-indata/
milkwashy models            # list models (LM Studio via `lms`, others via /v1/models)
milkwashy plan              # show the chunk + prompt plan, no inference
milkwashy run --limit 5     # sweep the 5 smallest models
```

Full documentation: <https://github.com/twardoch/milkwash>

## License

Apache-2.0
