Cliente profesional para buscar y descargar música de Tidal en FLAC/MP3 con metadatos completos.
Project description
TiDown 🔱
TiDown es una librería de Python minimalista y potente para interactuar con Tidal. Diseñada bajo el patrón fachada: una sola clase maestra para buscar y descargar música en MP3, FLAC y Hi-Res (Master), preservando metadatos y carátulas en alta definición.
⚠️ Aviso: Esta herramienta fue creada exclusivamente con fines educativos y de archivado personal. Necesitas una cuenta válida de Tidal para obtener tu token.
🚀 Características
- Fachada Unificada: Todo se maneja desde la clase
TiDown. - Formatos Nativos: Descarga real en
.mp3(320kbps),.flac(16-bit) y Master (24-bit). - Búsqueda JSON: Obtén resultados limpios y listos para usar en tu frontend o scripts.
- Tagging Automático: Metadatos completos (Artista, Álbum, Año, Track, Cover HD).
- Nombres Inteligentes: Plantillas personalizables (Ej:
{Artist} - {Title}). - Interfaz Limpia: Logs minimalistas y confirmaciones claras.
📋 Requisitos
- Python 3.7+
- FFmpeg: Debe estar instalado en tu sistema y accesible desde la terminal (PATH).
- Windows:
winget install ffmpeg - Linux:
sudo apt install ffmpeg - Mac:
brew install ffmpeg
- Windows:
📦 Instalación
pip install tidown
🛠️ Guía de Uso
- Iniciar Sesión Necesitas tu Bearer Token y Client ID de una sesión Web válida.
from tidown import TiDown
TOKEN = "Bearer tu_token_largo_aqui..."
CLIENT = "CzET4vdadNUFQ5JU" # Ejemplo de Client ID común
# Iniciamos la API
api = TiDown(token=TOKEN, client_id=CLIENT)
- Buscar Canciones 🔎 El buscador retorna un JSON String con los resultados, ideal para procesar.
# Buscar 5 resultados
json_resultados = api.search("Daft Punk Get Lucky", limit=5)
print(json_resultados)
- Descargar en MP3 (320kbps) 🎧 Ideal para ahorrar espacio. La librería convierte y etiqueta automáticamente.
track_id = "335104211"
# Guardar con nombre personalizado fijo
# Se guardará como: "mi_cancion.mp3"
api.save_mp3(track_id, name="mi_cancion")
- Descargar en FLAC (Calidad CD) 💿 Calidad Lossless estándar (16-bit / 44.1kHz).
# Usando plantilla de nombre automática
# Se guardará como: "Daft Punk - Get Lucky.flac"
api.save_flac(track_id, name="{Artist} - {Title}")
- Descargar en Hi-Res / Master 🌟 Máxima calidad disponible (24-bit / 96kHz+).
# Guardar en una carpeta específica con formato de Año
# Se guardará en: C:/Musica/2013 - Get Lucky.flac
api.save_hires(track_id, name="{Year} - {Title}", output_folder="C:/Musica/Master")
🧩 Plantillas de Nombre Disponibles Puedes combinar estas etiquetas en el parámetro name para que el archivo se renombre solo:
- *{Title}: Título de la canción.
- *{Artist}: Artista principal.
- *{Album}: Nombre del álbum.
- *{Year}: Año de lanzamiento.
- *{Track}: Número de pista.
Ejemplo complejo: "{Artist} - {Album} - {Track} {Title}"
⚖️ Licencia Distribuido bajo la licencia MIT. Consulta el archivo *LICENSE para más información.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tidown-1.0.tar.gz.
File metadata
- Download URL: tidown-1.0.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
231d47be39ab0d98e59b62d337a3d76626fc74413f60ab4af5d20f5575e7c5e0
|
|
| MD5 |
cc3bf9d3f1e2a05adea7acb6d20e7dbe
|
|
| BLAKE2b-256 |
29eeabfaf89a548695d8cdb7fe169eb6f230c42f98f00de381b876359ea239dd
|
File details
Details for the file tidown-1.0-py3-none-any.whl.
File metadata
- Download URL: tidown-1.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2b5c43b2d85a41936e322e0e6376686a475a673c71edef0dd63fb735e53f67b
|
|
| MD5 |
4fe05816037e1d44b1d90f1bf5463091
|
|
| BLAKE2b-256 |
01ffe43ce690a385f52366cfc0d27dd8d9cb986ac61f90606cac2e1da41e9cfa
|