twidr
🐦️ the Twitter–Wayback Machine Image Download Robot 🤖
twidr downloads images from the Wayback Machine's snapshots of a Twitter (X) account.
To be as kind as possible to Internet Archive's infrastructure, twidr rate-limits itself and creates an on-disk cache of the indices it gets from the Wayback Machine's APIs.
The Internet Archive plays a crucial role in preserving worldwide knowledge and combatting censorship. Donate!
installing
pipx is the preferred way to install twidr. Unlike pip alone: it automatically isolates the package from your other Python packages and puts the package in your PATH.
pipx install twidr
twidr supports argcomplete shell completions, which you can install for just twidr or all your Python packages.
do you really want to use pip?
pip is not recommended. On pip systems, for global installation:
pip install twidr
usage
Alongside its cached indices of Wayback Machine query results, twidr saves its progress as it downloads files. This lets you start a long-running download, pause it, and come back to it.
examples
Download all the images archived from user @openSUSE into a new directory called opensuse:
twidr opensuse
Download images into the current directory:
twidr opensuse --output .
twidr opensuse -o .
See all of twidr's options with twidr --help.
developing and building
This project uses uv.
Clone the repository with Git and use uv to install dependencies:
git clone git@github.com:solanto/twidr.git
cd twidr
uv sync
Run the program in development with uv run:
uv run twidr
And build the package with uv build:
uv build
contributing
Feel free to ask questions or make suggestions here or at person@dandelion.computer. I'll do my best to collaborate with those who'd like to!
If you fork twidr, be sure to change lib.meta:ORG_DOMAIN to your own domain (which could even be something like your-username.github.io). twidr uses this identifier to tell Internet Archive's servers exactly whose code is requesting information.
license
GNU General Public License v3.0 or later. See license in LICENSE.md.
Metadata
Release files for twidr 0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| twidr-0.4.tar.gz | 24.3 kB | Without provenance | Details for twidr-0.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| twidr-0.4-py3-none-any.whl | Python 3 | none | any | Details for twidr-0.4-py3-none-any.whl |
Total release size: 49.5 kB
Release files / twidr-0.4.tar.gz
| Download URL | twidr-0.4.tar.gz |
|---|---|
| Size | 24.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a9f225640ba1f71e1720556e4daa25a211eaf04b9c5327872b711705e371472
|
|
BLAKE2b-256 checksum How to use checksums |
78d7150e8253209b6e633d9e9177306daea6367eb12c39e523d1c6d84e2fd775
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"openSUSE Tumbleweed","version":"20261021","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / twidr-0.4-py3-none-any.whl
| Download URL | twidr-0.4-py3-none-any.whl |
|---|---|
| Size | 25.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b3011a2f1c281df0f46d0742215b33a7e7ccdd070ed4708d0e09aadbd8b8eeb9
|
|
BLAKE2b-256 checksum How to use checksums |
57ce1e952b8d12c3ab3b74c85553e3c85553e0d17e7831ca24bd41f5bbe50b4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.3 {"installer":{"name":"uv","version":"0.13.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"openSUSE Tumbleweed","version":"20261021","id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for twidr 0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.