cf-voice/pyproject.toml
pyr0ball 35fc0a088c feat: initial cf-voice stub — VoiceFrame API, mock IO, context classifier
- VoiceFrame dataclass: label, confidence, speaker_id, shift_magnitude, timestamp
- MockVoiceIO: async generator of synthetic frames on a timer (CF_VOICE_MOCK=1)
- ContextClassifier: passthrough stub wrapping VoiceIO; _enrich() hook for real classifiers
- make_io() factory: mock mode auto-detected from env, raises NotImplementedError for real audio
- cf-voice-demo CLI entry point for quick smoke-testing
- 12 tests passing; editable install via pip install -e ../cf-voice
2026-04-06 16:03:07 -07:00

39 lines
866 B
TOML

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "cf-voice"
version = "0.1.0"
description = "CircuitForge voice annotation pipeline — VoiceFrame API, tone classifiers, speaker diarization"
readme = "README.md"
requires-python = ">=3.11"
license = {text = "MIT"}
dependencies = [
"pydantic>=2.0",
]
[project.optional-dependencies]
# Real inference backends — not required for stub/mock mode
inference = [
"torch>=2.0",
"torchaudio>=2.0",
"transformers>=4.40",
"pyannote.audio>=3.1",
]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
]
[project.scripts]
# Quick smoke-test: stream mock frames to stdout
cf-voice-demo = "cf_voice.cli:demo"
[tool.setuptools.packages.find]
where = ["."]
include = ["cf_voice*"]
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"