Major changes: - vision_analyzer.py: Real OpenAI/Anthropic vision API integration - Component detection with confidence scores - Atomizer hints extraction (objectives, constraints, parameters) - Material and feature identification - Timeline correlation with transcript - config.py: Full configuration system - API settings (provider, keys, models) - Processing settings (Whisper model, frame interval, scene detection) - Output settings (BOM, hints, PDF template) - Config file support (~/.cad-documenter.toml) - audio_analyzer.py: Enhanced transcription - Audio stream detection - Graceful fallback for missing audio - Keyword extraction - Technical term detection - Timeline correlation - video_processor.py: Smart frame extraction - Scene change detection via ffmpeg - Configurable thresholds - Best frame selection - doc_generator.py: Improved output - Better Markdown templates - BOM CSV export - Atomizer hints JSON - Component cards - cli.py: Rich CLI with progress indicators - Config file support - --init-config flag - Verbose mode - Better error messages - tests: Comprehensive test suite
41 lines
838 B
TOML
41 lines
838 B
TOML
[project]
|
|
name = "cad-documenter"
|
|
version = "0.1.0"
|
|
description = "Video walkthrough → Complete engineering documentation"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
license = {text = "MIT"}
|
|
authors = [
|
|
{name = "Antoine Letarte", email = "antoine.letarte@gmail.com"},
|
|
]
|
|
dependencies = [
|
|
"click>=8.1.0",
|
|
"rich>=13.0.0",
|
|
"pydantic>=2.0.0",
|
|
"jinja2>=3.1.0",
|
|
"openai-whisper>=20231117",
|
|
"pillow>=10.0.0",
|
|
"httpx>=0.27.0",
|
|
"tomli>=2.0.0;python_version<'3.11'",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.0.0",
|
|
"ruff>=0.1.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
cad-doc = "cad_documenter.cli:main"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/cad_documenter"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py312"
|