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.
This repository provides jupiter_media, a small toolkit for timed-text workflows (subtitles, lyrics) including:
- core timeline models (
jupiter_media.core) - exporters for
.srtand.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:
ffmpegis 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
- Create a feature branch and open a pull request.
- Merge to
mainafter CI passes. - For a release, update the version in
pyproject.tomland the changelog, then create and push a tag such asv0.1.1. - The tagged push publishes the package to PyPI and creates a GitHub release.
Links
- Repository: https://github.com/Supan-Roy/Jupiter-Media-Pipeline
- Homepage: https://supanroy.com
- Changelog: CHANGELOG.md
License
This project is licensed under the MIT License.
© 2026 Jupiter Sonic Labs — Author: Supan Roy (contact@supanroy.com)
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67bc54f00fc05375185e79e3e33c64a3eb116ca45747218aca25e5222e36a977
|
|
| MD5 |
3617cd8d136b80edf09ae45291248b37
|
|
| BLAKE2b-256 |
510a24d88dbc02bfc43323928194fe934cabb335b1092e356a03ecc0c9d4f2dc
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c32ba5bf68466d9c715976597511699693557e74b8fb35a9e8a562d15d47c5af
|
|
| MD5 |
cac03a2740faa4eeb21673b660a5135e
|
|
| BLAKE2b-256 |
476c39a452a943364022efd2b6d13d5513232031116acaf16647bc6abbce9bdd
|