-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
67 lines (64 loc) · 1.79 KB
/
Copy pathpyproject.toml
File metadata and controls
67 lines (64 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[build-system]
requires = ["setuptools>=61.2", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["."]
include = ["podcast*"]
[project]
name = "gen-podcast"
version = "0.1.3"
authors = [{ name = "weedge", email = "weege007@gmail.com" }]
description = "AI-powered podcast generation: extract content, generate scripts via LLM, synthesize speech"
readme = "README.md"
requires-python = ">=3.10"
keywords = ["podcast", "tts", "llm", "gemini", "edge-tts"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dependencies = [
# CLI
"typer",
# Data validation
"pydantic",
# Env vars
"python-dotenv",
# LLM structured output (Google Gemini; google.genai SDK)
"google-genai>=1.0",
"instructor",
"jsonref",
# TTS (Microsoft Edge)
"edge-tts",
# Audio processing
"pydub",
# Image processing
"pillow",
# Cloud storage (Cloudflare R2 / S3)
"boto3",
"tqdm",
# Web scraping
"requests",
"beautifulsoup4",
# PDF extraction
"pymupdf",
# YouTube transcript
"youtube-transcript-api",
# Translation
"deep-translator",
# Console tables
"rich",
# Audio metadata
"mutagen",
]
[project.scripts]
gen-podcast = "podcast.gen_podcast:app"
gen-podcasts-xml = "podcast.gen_podcasts_xml:app"
content-parser-tts = "podcast.content_parser_tts:app"
insert-podcast = "podcast.insert_podcast:app"
siliconflow-api = "podcast.siliconflow_api:app"
content-extractor = "podcast.content_parser.content_extractor_instructor:app"
subtitle-gen = "podcast.subtitle_generator:app"