voiceforge / backend /pyproject.toml
lordofgaming
Initial VoiceForge deployment (clean)
673435a
[tool.poetry]
name = "voiceforge-backend"
version = "3.0.0"
description = "VoiceForge Backend - Advanced Speech Processing API"
authors = ["VoiceForge Team"]
readme = "README.md"
license = "MIT"
package-mode = false
[tool.poetry.dependencies]
python = "^3.10"
# Core Framework
fastapi = "^0.109.2"
uvicorn = {extras = ["standard"], version = "^0.27.1"}
python-multipart = "^0.0.6"
# Google Cloud
google-cloud-speech = "^2.26.0"
google-cloud-texttospeech = "^2.16.0"
google-cloud-language = "^2.13.0"
# Local AI
faster-whisper = "1.0.3" # Fixed version for stability
edge-tts = "^6.1.12"
# Database
sqlalchemy = "^2.0.28"
psycopg2-binary = {version = "^2.9.9", optional = true}
alembic = "^1.13.1"
# Validation
pydantic = "^2.6.3"
pydantic-settings = "^2.2.1"
python-dotenv = "^1.0.1"
# Authentication
python-jose = {extras = ["cryptography"], version = "^3.3.0"}
passlib = {extras = ["bcrypt"], version = "^1.7.4"}
# Async & HTTP
httpx = "^0.27.0"
aiofiles = "^23.2.1"
# Audio Processing (CRITICAL PINS)
ffmpeg-python = "^0.2.0"
pydub = "^0.25.1"
noisereduce = "^3.0.2"
soundfile = "^0.12.1"
librosa = "^0.10.1"
pyannote-audio = "3.1.1" # Exact pin
imageio-ffmpeg = "^0.4.9"
numpy = "1.26.4" # Exact pin (pyannote constraint)
torch = "2.3.1" # Exact pin (numpy compat)
torchaudio = "2.3.1" # Match torch
# NLP
textblob = "^0.18.0"
sumy = "^0.11.0"
nltk = "^3.8.1"
fpdf2 = "^2.7.8"
# Translation
transformers = "4.42.4" # Exact pin (MarianMT stability)
sentencepiece = "^0.2.0"
langdetect = "^1.0.9"
# Caching & Workers
redis = "5.0.1" # Exact pin
celery = "5.3.6" # Exact pin
diskcache = "^5.6.3"
# Voice Cloning & TTS
TTS = "^0.22.0"
melotts = "^0.1.2" # New V3 dependency
# Utilities
python-dateutil = "2.8.2" # Exact pin
prometheus-fastapi-instrumentator = "6.1.0" # Exact pin
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.4"
pytest-asyncio = "^0.23.3"
pytest-cov = "^4.1.0"
locust = "^2.20.0"
# Optional dependency groups
[tool.poetry.extras]
postgresql = ["psycopg2-binary"]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"