freetubedb
Python library for interacting with FreeTube's playlists.db file
Table of Contents
Installation
pip install freetubedb
Usage
FreetubePlaylist
@dataclass(frozen=True)
class FreetubePlaylist:
"""
FreetubePlaylist class. Contains all the information stored about a playlist.
"""
id: str
name: str
description: str
protected: bool
videos: list[FreetubeVideo] = field(default_factory=list[FreetubeVideo])
FreetubeVideo
@dataclass(frozen=True)
class FreetubeVideo:
"""
FreetubeVideo class. Contains all the information stored about a video in a FreetubePlaylist.
"""
id: str
title: str
author_id: str
author_name: str
length: int # seconds
date_published: int # unix timestamp
date_added: int # unix timestamp
playlist_item_id: str
Example
from pathlib import Path
from freetubedb import parse_playlists_file, FreetubePlaylist
# uses default FreeTube path based on operating system
playlists: list[FreetubePlaylist] = parse_playlists_file()
# alternatively, you can supply your own custom path:
# playlists: list[FreetubePlaylist] = parse_playlists_file(Path("./playlists.db"))
for playlist in playlists:
print(f"Playlist: {playlist.name} (ID: {playlist.id})")
print(f"Description: {playlist.description}")
print(f"Number of videos: {len(playlist.videos)}")
for video in playlist.videos:
print(f" - {video.title} by {video.author_name}")
print(f" Video ID: {video.id}")
print(f" Length: {video.length} seconds")
print(f" Published: {video.date_published} (unix timestamp)")
print(f" Added to playlist: {video.date_added} (unix timestamp)")
License
freetubedb is distributed under the terms of the GPL-3.0 license.
Metadata
Release files for freetubedb 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| freetubedb-1.0.1.tar.gz | 17.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| freetubedb-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.5 kB
Release files / freetubedb-1.0.1.tar.gz
| Download URL | freetubedb-1.0.1.tar.gz |
|---|---|
| Size | 17.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e258019f3ce5146150d88e9c45c66fc307a0148e3f9c8cc41a146d8c09a5cf8
|
|
BLAKE2b-256 checksum How to use checksums |
52f1ae3ffa260fc24db8c39f6171ba9d55fb3471b804501b831c3cf2a5d96c08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 3, 2025.
Transparency logRelease files / freetubedb-1.0.1-py3-none-any.whl
| Download URL | freetubedb-1.0.1-py3-none-any.whl |
|---|---|
| Size | 17.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f650f5308a1ea2f04758bb72a9ec7d71cac035f02cf76cf8ce7006395fadda39
|
|
BLAKE2b-256 checksum How to use checksums |
67b3a0071a737fed7e5dbe0181418625b44d363e79b1ea580e61230331759980
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 3, 2025.
Transparency log