Skip to main content

Reusable AI-powered media intelligence pipeline for subtitles, lyrics, and transcription workflows.

Project description

Jupiter Media Pipeline

A reusable Python framework for building AI-powered media processing systems.

Python License


This repository provides jupiter_media, a small toolkit for timed-text workflows (subtitles, lyrics) including:

  • core timeline models (jupiter_media.core)
  • exporters for .srt and .lrc
  • an adapter for Whisper-style transcription (via faster-whisper)
  • audio extraction helper and example scripts

The project ships as the jupiter-media Python package (package name: jupiter-media).


Installation

Install from PyPI (when published):

pip install jupiter-media

For local development, build and install from source:

python -m venv .venv
.venv\Scripts\activate        # Windows
python -m pip install --upgrade pip
python -m pip install --upgrade build twine
python -m build
python -m pip install dist/jupiter_media-0.1.0-py3-none-any.whl

Notes:

  • ffmpeg is required on PATH for audio extraction.
  • Optional/extra dependencies for different adapters may be documented in the README or package metadata.

Usage (example)

Extract audio, transcribe, and export SRT:

from jupiter_media.core.audio_extractor import AudioExtractor
from jupiter_media.adapters.whisper_adapter import WhisperAdapter
from jupiter_media.exporters.srt_exporter import SRTExporter

AudioExtractor.extract("movie.mp4", "audio.wav")
adapter = WhisperAdapter()
timeline = adapter.transcribe("audio.wav")
srt = SRTExporter.export(timeline)
print(srt)

There are runnable examples in the examples/ folder:


Testing

Run the test suite locally (tests are not included in distributions):

pytest

Packaging & Release

See RELEASE.md for the release process. GitHub Actions handles pull-request checks and tagged publishes, so future updates can be shipped from GitHub with a version bump, tag, and release.

GitHub Workflow

  1. Create a feature branch and open a pull request.
  2. Merge to main after CI passes.
  3. For a release, update the version in pyproject.toml and the changelog, then create and push a tag such as v0.1.1.
  4. The tagged push publishes the package to PyPI and creates a GitHub release.

Links


License

This project is licensed under the MIT License.

© 2026 Jupiter Sonic Labs — Author: Supan Roy (contact@supanroy.com)

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

jupiter_media-0.1.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

jupiter_media-0.1.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file jupiter_media-0.1.0.tar.gz.

File metadata

  • Download URL: jupiter_media-0.1.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for jupiter_media-0.1.0.tar.gz
Algorithm Hash digest
SHA256 67bc54f00fc05375185e79e3e33c64a3eb116ca45747218aca25e5222e36a977
MD5 3617cd8d136b80edf09ae45291248b37
BLAKE2b-256 510a24d88dbc02bfc43323928194fe934cabb335b1092e356a03ecc0c9d4f2dc

See more details on using hashes here.

File details

Details for the file jupiter_media-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: jupiter_media-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for jupiter_media-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c32ba5bf68466d9c715976597511699693557e74b8fb35a9e8a562d15d47c5af
MD5 cac03a2740faa4eeb21673b660a5135e
BLAKE2b-256 476c39a452a943364022efd2b6d13d5513232031116acaf16647bc6abbce9bdd

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