Yark
YouTube archiving made simple.
Installation
To install Yark, simply download Python 3.9+ and FFmpeg (optional), then run the following:
$ pip3 install yark
Managing your Archive
Once you've installed Yark, think of a name for your archive (e.g., "foobar") and copy the target's url:
$ yark new foobar https://www.youtube.com/channel/UCSMdm6bUYIBN0KfS2CVuEPA
Now that you've created the archive, you can tell Yark to download all videos and metadata using the refresh command:
$ yark refresh foobar
Once everything has been downloaded, Yark will automatically give you a status report of what's changed since the last refresh:
Viewing your Archive
Viewing you archive is easy, just type view with your archives name:
$ yark view foobar
This will pop up an offline website in your browser letting you watch all videos 🚀
Under each video is a rich history report filled with timelines and graphs, as well as a noting feature which lets you add timestamped and permalinked comments 👐
Light and dark modes are both available and automatically apply based on the system's theme.
Details
Here are some things to keep in mind when using Yark; the good and the bad:
- Don't create a new archive again if you just want to update it, Yark accumulates all new metadata for you via timestamps
- Feel free to suggest new features via the issues tab on this repository
- Scheduling isn't a feature just yet, please use
cronor something similar!
Archive Format
The archive format itself is simple and consists of a directory-based structure with a core metadata file and all thumbnail/video data in their own directories as typical files:
[name]/– Your self-contained archiveyark.json– Archive file with all metadatayark.bak– Backup archive file to protect against data damagevideos/– Directory containing all known videos[id].*– Files containing video data for YouTube videos
thumbnails/– Directory containing all known thumbnails[hash].png– Files containing thumbnails with its hash
It's best to take a few minutes to familiarize yourself with your archive by looking at files which look interesting to you in it, everything is quite readable.
Metadata
Release files for yark 1.2.12
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 |
|---|---|---|---|---|
| yark-1.2.12.tar.gz | 32.1 kB | Without provenance | Details for yark-1.2.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| yark-1.2.12-py3-none-any.whl | Python 3 | none | any | Details for yark-1.2.12-py3-none-any.whl |
Total release size: 70.3 kB
Release files / yark-1.2.12.tar.gz
| Download URL | yark-1.2.12.tar.gz |
|---|---|
| Size | 32.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2bae8b0bf1e16a300c09653b3cf7f192868af3890b94071c6001f9157a1cfb21
|
|
BLAKE2b-256 checksum How to use checksums |
8e234ace3017b569078c2c08ba49671ca750d706dfff1ef2a2b1f01d7934c412
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.2 CPython/3.11.9 Darwin/23.4.0
|
Release files / yark-1.2.12-py3-none-any.whl
| Download URL | yark-1.2.12-py3-none-any.whl |
|---|---|
| Size | 38.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
89fab20ba921708dd97b2ee5ec1a6d4aa646cde41132acaa824123ee0883dbf5
|
|
BLAKE2b-256 checksum How to use checksums |
09e6481688167ae5333eea28a5066350d5ceb903574c355601a53d3d6359004b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.2 CPython/3.11.9 Darwin/23.4.0
|
Security for yark 1.2.12
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.