52 lines
1.9 KiB
TOML
52 lines
1.9 KiB
TOML
[project]
|
|
name = "meetus"
|
|
version = "0.1.0"
|
|
description = "Local, offline toolkit: meetus (meeting recordings → enhanced transcripts) + doocus (documents → textified content + metadata)."
|
|
requires-python = ">=3.10"
|
|
# Base install pulls nothing — pick the feature groups you need (see below).
|
|
dependencies = []
|
|
|
|
# Feature groups (PEP 735), installed with uv. Examples:
|
|
# uv sync --group meetus meeting pipeline
|
|
# uv sync --group doocus document extraction
|
|
# uv sync --group doocus --group ocr + OCR for images/scanned pdfs
|
|
# uv run process_doc.py file.pdf run inside the synced venv
|
|
[dependency-groups]
|
|
# meetus: frame extraction from recordings. whisper/whisperx are installed
|
|
# separately (heavy; see `transcribe` group / README) and called as CLIs.
|
|
meetus = [
|
|
"opencv-python>=4.8.0",
|
|
"ffmpeg-python>=0.2.0",
|
|
]
|
|
|
|
# doocus: local, offline document extraction (office/pdf/web/text/image).
|
|
doocus = [
|
|
"Pillow>=10.0.0",
|
|
"PyYAML>=6.0",
|
|
"python-docx>=1.1.0",
|
|
"python-pptx>=0.6.23",
|
|
"openpyxl>=3.1.0",
|
|
"pypdf>=4.0.0",
|
|
"beautifulsoup4>=4.12.0",
|
|
"lxml>=5.0.0",
|
|
]
|
|
|
|
# OCR for doocus images / scanned pdfs (--ocr). Needs system `tesseract`.
|
|
ocr = ["pytesseract>=0.3.10"]
|
|
|
|
# doocus pdf page-image thumbnails (--render). Needs system `poppler`.
|
|
pdf-render = ["pdf2image>=1.17.0"]
|
|
|
|
# NB: whisper / whisperx are NOT here. meetus invokes them as external CLIs
|
|
# (via subprocess), like ffmpeg — install them your own way (e.g. a separate
|
|
# GPU env). They're heavy and don't belong in the managed deps.
|
|
|
|
# Old OCR/vision path in meetus/deprecated/ — unwired, reference only. Kept out
|
|
# of every default install; this is the ONLY place `ollama` is used.
|
|
deprecated = ["ollama>=0.1.0", "pytesseract>=0.3.10"]
|
|
|
|
[tool.uv]
|
|
# This repo is a collection of scripts (process_meeting.py, process_doc.py) plus
|
|
# the meetus/ and doocus/ packages, not a distributable — don't build it.
|
|
package = false
|