Skip to main content

ETL para extraer, transformar y cargar datos de charts de spotify en S3

Project description

Track Flow / Flujo de Seguimiento

ES / Español 🇪🇸

track-flow es una librería modular en Python diseñada para implementar un pipeline ETL completo, ideal para flujos de trabajo donde se requiere extracción, transformación y carga de datos de forma eficiente y reutilizable.


🚀 Características

  • Extracción desde APIs externas (por ejemplo, Spotify)
  • Transformación de datos en DTOs
  • Almacenamiento en formato Parquet
  • Carga en Amazon S3 u otros destinos
  • Configuración flexible mediante variables de entorno
  • Uso como librería o desde línea de comandos

⚙️ Variables de entorno necesarias

Debes definir un archivo .env en la raíz de tu proyecto con las siguientes variables:

# Claves AWS
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=

# Bucket de destino
AWS_BUCKET_SONG_NAME=

# Datos a procesar
TRACK_LIST=2U3UUpx6ocHXgvcXmq0YBw  # ID de playlist o track de Spotify

# Directorio de salida local
ETL_OUTPUT_DIR=output

📦 Instalación

pip install track-flow

💻 Uso básico

Como script:

trackflow

Como módulo de Python:

from track_flow.main import main

main()

🧠 Requisitos

  • Python >= 3.9
  • Tener configurado el archivo .env
  • Acceso válido a la API de Spotify y AWS

🪪 Licencia

MIT © Facu Vega
https://github.com/facuvegaingenieer


EN / English 🇬🇧

track-flow is a modular Python library that implements a full ETL pipeline, ideal for workflows requiring robust data extraction, transformation, and loading in a reusable and configurable way.


🚀 Features

  • Extraction from external APIs (e.g., Spotify)
  • Data transformation into DTOs
  • Storage as Parquet files
  • Upload to Amazon S3 or other destinations
  • Environment-based configuration
  • Usable as a library or from the command line

⚙️ Required Environment Variables

You must define a .env file at the root of your project with the following variables:

# AWS credentials
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=

# S3 Bucket
AWS_BUCKET_SONG_NAME=

# Data to extract
TRACK_LIST=2U3UUpx6ocHXgvcXmq0YBw  # Playlist or track ID from Spotify

# Local output directory
ETL_OUTPUT_DIR=output

📦 Installation

pip install track-flow

💻 Basic Usage

As CLI:

trackflow

As a Python module:

from track_flow.main import main

main()

🧠 Requirements

  • Python >= 3.9
  • Valid .env file
  • Access to Spotify and AWS

🪪 License

MIT © Facu Vega
https://github.com/facuvegaingenieer

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

track_flow-0.1.2.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

track_flow-0.1.2-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file track_flow-0.1.2.tar.gz.

File metadata

  • Download URL: track_flow-0.1.2.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for track_flow-0.1.2.tar.gz
Algorithm Hash digest
SHA256 deaf40a75d7c57ea44ea7cc45e163c414679b91f59773b4f0c2173edfee2a272
MD5 f0910d728a42b2af94362f399303520e
BLAKE2b-256 80dd3bf1cd5ec31a690f04fe83b53326e2fff4515b33afcde35ae6df36f94e50

See more details on using hashes here.

File details

Details for the file track_flow-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: track_flow-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for track_flow-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ee57dadd92b19122676df1e8bca64870dd217b891f05f1a63846ecddf3c2ac29
MD5 4d6a1b8d20534b5e4c3971a8cc31d84e
BLAKE2b-256 d49db35f3986bdda389fc0eddccb77511c1ec969067e42cf24f76e1789c35ac1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page