* feat: add Xiaoyuzhou podcast transcription channel - New channel: 小宇宙播客 (xiaoyuzhoufm.com) → full text transcript - Uses Groq Whisper API (free, no credit card needed) - Auto-downloads audio, converts to low-bitrate MP3, splits by 25MB limit - Supports any length podcast with automatic chunking - Script installed to ~/.agent-reach/tools/xiaoyuzhou/transcribe.sh - User just needs: agent-reach configure groq-key gsk_xxxxx - Updated README (CN/EN), install.md, pyproject.toml * docs: clarify Xiaoyuzhou setup — free key, limitations, step-by-step --------- Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
87 lines
2.3 KiB
TOML
87 lines
2.3 KiB
TOML
[project]
|
|
name = "agent-reach"
|
|
version = "1.3.0"
|
|
description = "Give your AI Agent eyes to see the entire internet. Search + Read 10+ platforms."
|
|
readme = "README.md"
|
|
license = {text = "MIT"}
|
|
requires-python = ">=3.10"
|
|
authors = [{name = "Neo Reid"}]
|
|
keywords = [
|
|
"ai-agent", "llm-tools", "agent-infrastructure", "mcp",
|
|
"web-reader", "web-scraper", "search",
|
|
"twitter-scraper", "reddit-scraper", "youtube-transcript",
|
|
"bilibili", "xiaohongshu",
|
|
"ai-search", "cli", "automation",
|
|
"claude-code", "cursor", "openai",
|
|
"free-api", "no-api-key",
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Internet :: WWW/HTTP",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
]
|
|
|
|
dependencies = [
|
|
"requests>=2.28",
|
|
"feedparser>=6.0",
|
|
"python-dotenv>=1.0",
|
|
"loguru>=0.7",
|
|
"pyyaml>=6.0",
|
|
"rich>=13.0",
|
|
"yt-dlp>=2024.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
browser = ["playwright>=1.40"]
|
|
cookies = ["browser-cookie3>=0.19"]
|
|
all = ["playwright>=1.40", "mcp[cli]>=1.0", "browser-cookie3>=0.19"]
|
|
dev = [
|
|
"pytest>=8.0",
|
|
"ruff>=0.8",
|
|
"mypy>=1.12",
|
|
"types-requests>=2.32",
|
|
"types-PyYAML>=6.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
agent-reach = "agent_reach.cli:main"
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/Panniantong/agent-reach"
|
|
Repository = "https://github.com/Panniantong/agent-reach"
|
|
Issues = "https://github.com/Panniantong/agent-reach/issues"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["agent_reach"]
|
|
|
|
[tool.hatch.build.targets.wheel.force-include]
|
|
"agent_reach/guides" = "agent_reach/guides"
|
|
"agent_reach/skill" = "agent_reach/skill"
|
|
"agent_reach/scripts" = "agent_reach/scripts"
|
|
|
|
[tool.ruff]
|
|
target-version = "py310"
|
|
line-length = 100
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I"]
|
|
ignore = ["E501"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.10"
|
|
warn_unused_configs = true
|
|
warn_redundant_casts = true
|
|
warn_unused_ignores = true
|
|
check_untyped_defs = true
|
|
ignore_missing_imports = true
|
|
exclude = ["^tests/"]
|