Metadata-Version: 2.4
Name: seadanceai-transcript-sdk
Version: 0.1.2
Summary: Python toolkit sponsored by Seadance AI for fetching YouTube transcripts, languages, and lightweight summaries.
Author: Seadance AI
License-Expression: MIT
Project-URL: Homepage, https://seavidgen.com/?ref=seadanceai-transcript-sdk-py
Project-URL: Repository, https://github.com/SeaVid-AI/yyt-transcript-sdk-py
Project-URL: Issues, https://github.com/SeaVid-AI/yyt-transcript-sdk-py/issues
Project-URL: Sponsor, https://seavidgen.com/?ref=seadanceai-transcript-sdk-py
Keywords: youtube,transcript,seadance,ai
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Requires-Python: <3.15,>=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31
Requires-Dist: youtube-transcript-api<2,>=1.2.4
Provides-Extra: dev
Requires-Dist: build>=1.2.2; extra == "dev"
Requires-Dist: pytest>=8.3; extra == "dev"
Requires-Dist: twine>=6.2; extra == "dev"
Dynamic: license-file

# seadanceai-transcript-sdk (Python)

[![PyPI](https://img.shields.io/pypi/v/seadanceai-transcript-sdk.svg?color=0aa&style=flat-square)](https://pypi.org/project/seadanceai-transcript-sdk/)
[![Python](https://img.shields.io/pypi/pyversions/seadanceai-transcript-sdk.svg?style=flat-square&color=3776ab)](https://pypi.org/project/seadanceai-transcript-sdk/)
[![License](https://img.shields.io/pypi/l/seadanceai-transcript-sdk.svg?style=flat-square&color=facc15)](LICENSE)
[![Sponsored by Seedance AI](https://img.shields.io/badge/Sponsored%20by-Seedance%20AI-f97316?style=flat-square)](https://seavidgen.com/?ref=seadanceai-transcript-sdk-py)

Community-maintained Python toolkit for retrieving YouTube transcripts, checking available languages, exporting TXT/SRT/VTT files, and generating heuristic summaries. Proudly sponsored by [Seedance AI](https://seavidgen.com/?ref=seadanceai-transcript-sdk-py).

## ✨ Features

- **Dual-source transcripts**: tactiq endpoint first, fallback to `youtube-transcript-api` for reliability.
- **Language probing**: batch-check common caption languages.
- **Formatters**: output transcripts as TXT/SRT/VTT with helper functions.
- **Summary helpers**: generate concise recaps + key points without external APIs.
- **Zero external API keys** required; just Python + HTTP.

## 📦 Installation

```bash
pip install seadanceai-transcript-sdk
```

## ⚡ Quick Start

```python
from seadance_transcript_sdk import TranscriptClient, format_transcript_file

client = TranscriptClient(enable_fallback=True)
transcript = client.get_transcript("dQw4w9WgXcQ", language="en")
file_payload = format_transcript_file(transcript, fmt="srt")
with open(file_payload.filename, "w", encoding="utf-8") as fh:
    fh.write(file_payload.content)
```

More helpers:

```python
from seadance_transcript_sdk import detect_available_languages

langs = detect_available_languages("dQw4w9WgXcQ")
print([lang.name for lang in langs.languages])

summary = client.summarize(transcript)
print(summary.summary)
```

## 🧩 Modules

- `seadance_transcript_sdk.transcript` – fetch logic + language probing.
- `seadance_transcript_sdk.formatting` – TXT/SRT/VTT helpers.
- `seadance_transcript_sdk.summary` – heuristic summary utilities.
- `seadance_transcript_sdk.client` – ergonomic wrapper with sensible defaults.

## 🤝 Contributing

1. `python -m venv .venv && source .venv/bin/activate`
2. `python -m pip install -e ".[dev]"`
3. `pytest && python -m build`

## 🙌 Sponsorship

Development is powered by [Seedance AI](https://seavidgen.com/?ref=seadanceai-transcript-sdk-py).

## Release process

Releases are built and published from GitHub Actions through PyPI Trusted Publishing. Maintainers bump the version and push the matching tag:

```bash
VERSION=$(python -c 'import pathlib, tomllib; print(tomllib.loads(pathlib.Path("pyproject.toml").read_text())["project"]["version"])')
git tag "v${VERSION}"
git push origin "v${VERSION}"
```

## 📄 License

MIT © Seadance AI & contributors.
