Metadata-Version: 2.4
Name: mirror.py
Version: 1.0.0rc11
Summary: Mirror manager daemon that maintains local mirrors of remote package repositories via rsync, ftpsync, and other sync protocols.
Author-email: Roul <roul@ftp.kaist.ac.kr>, "SPARCS@KAIST" <ftp@ftp.kaist.ac.kr>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/sparcs-kaist/mirror.py
Project-URL: Repository, https://github.com/sparcs-kaist/mirror.py
Project-URL: Issues, https://github.com/sparcs-kaist/mirror.py/issues
Keywords: mirror,rsync,ftpsync,debian,daemon
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: System :: Archiving :: Mirroring
Classifier: Topic :: System :: Software Distribution
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: bandersnatch==6.8.0
Requires-Dist: click==8.3.1
Requires-Dist: prompt-toolkit>=3.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-docker>=3; extra == "dev"
Dynamic: license-file

# Mirror.PY

Mirror.PY is a simple python daemon that mirrors a directory to another directory. It is designed to be used with a web server to serve the mirrored directory.

## Plug-ins

mirror.py supports pip-installable plug-ins via Python entry points. There are
three plug-in categories:

- **sync** — implement a new synctype (alongside the built-in `rsync`,
  `ftpsync`, `lftp`, `bandersnatch`, `local`).
- **event** — subscribe to mirror events to drive notifications, custom logs,
  external integrations.
- **status** — contribute extra fields into `stat.json` and the web status JSON.

See [`docs/PLUGINS.md`](docs/PLUGINS.md) for the author guide and API
reference, and [`examples/mirror-plugin-echo/`](examples/mirror-plugin-echo/)
for a runnable worked example.
