Skip to main content

mirrorlib

mirrorlib is a flat, generic specification for tracking urls and files together. The strength of mirrorlib is its simplicity and ability to track any type of data. It is designed to make data verification and integrity easy and provide all the data upfront to manage your mirror. mirrorlib is not designed to be the fastest mirror specification, but to be as portable and simple as possible. This allows many developers to quickly develop on top of the code and have the flexibility to use the data as they please.

mirrorlib was inspired by RedoxOS and their philosophy of "everything is a URL". In mirrorlib everything is a URI that is tracked together in one place.

mirrorlib is not specific to any type of database and can be implemented using any language, you could even implement it as a JSON file if you wanted to. The reference implementation is currently implemented using python and sqlite. It's not required, but all data is usually stored in a single table called 'mirror'. A mirror contains only URIs and their associated metadata as text.

Getting Started

pip install mirrorlib

Documentation

Golden rules

  • Everything is a URI
  • Use text as much as possible
  • Keep data simple

Contributing

TODO

The specification and reference implementation is still being developed and any suggestions and issues are welcome.

The longterm goal is to implement the reference specification in Rust and use Python bindings instead. For the time being

History

mirrorlib was originally created to be used in another archiving project, youmirror. Youmirror is a tool developed in early 2022 for downloading and archiving media, originally Youtube videos. However, I'm always looking for ways that components of larger projects can be broken down into modules that may be helpful more broadly. I am hoping that mirrorlib will be used to archive all kinds of data and inspire even better projects in the future!

Release files for mirrorlib 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mirrorlib 0.1.0
File Size Uploaded
mirrorlib-0.1.0.tar.gz 3.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mirrorlib 0.1.0
File Interpreter ABI Platform
mirrorlib-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.1 kB

Release files / mirrorlib-0.1.0.tar.gz

Download URL mirrorlib-0.1.0.tar.gz
Size 3.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6346124de1712221601ef85f62c98cec509b46138d30b280b54865b66d64ef90
BLAKE2b-256 checksum
How to use checksums
92a93ff4c1e16d41282f52791713717a2750854144472557b0b3154de34bc0fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.10.5 Linux/5.15.49-1-MANJARO

Release files / mirrorlib-0.1.0-py3-none-any.whl

Download URL mirrorlib-0.1.0-py3-none-any.whl
Size 3.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
227da540956660728de9c4e0499510c06e8eb33da739a0cbaeecf603eb723bb9
BLAKE2b-256 checksum
How to use checksums
d0e7d3d208e684a300f0714d561cb0ac6b875e8b46ef002fc03f6cf3710b2d86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.13 CPython/3.10.5 Linux/5.15.49-1-MANJARO

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page