Packages used¶
Pin source of truth is pyproject.toml ([project.dependencies] and [project.optional-dependencies]). This page is a map, not a second pin list.
CVE / waiver policy: dependency_audit.md. Analysis model IDs: models.md. Install profiles: install_profiles_matrix.md.
Core wheel¶
From a TranscriptX git checkout (not on PyPI): pip install -e . (no extras) is the analysis core plus the Streamlit launcher entry point. It deliberately omits compiled NLP / voice / BERTopic stacks so a clean host install is not blocked by llvmlite / CUDA wheels. Exact pins: pyproject.toml [project.dependencies].
The GUI extra is separate: Streamlit is [web], not in [full]. Docker / transcriptx.sh install the GUI via requirements.txt.
Install extras¶
Extra |
What it is for |
|---|---|
|
Streamlit GUI plus in-repo |
|
LanceDB + httpx for the opt-in Ask page. Also in Docker |
|
spaCy NER ( |
|
NRCLex lexical emotion. |
|
Torch + Transformers contextual / fine-grained emotion. |
|
Compatibility union of the two emotion extras. |
|
pyannote / openSMILE / librosa analysis audio. |
|
SpeechBrain speaker embeddings (separate from analysis |
|
YAKE / KeyBERT (noun-chunks still run without this extra). |
|
BERTopic + hdbscan + umap-learn. Optional; see bertopic_optional_module.md. |
|
Folium / geopy / Playwright for NER map HTML→PNG. |
|
matplotlib, seaborn, wordcloud, ebooklib (Overview EPUB). |
|
Plotly. |
|
Union of the analysis extras above plus |
|
pytest, linters, pre-commit, plus matplotlib/seaborn/geopy for smoke tests. |
|
Sphinx, MyST, Furo. |
Workspace package¶
packages/transcriptx_workspaces is the Streamlit Components v2 package for Theme C (Speaker ID, Corrections review, viewer click-drag) and Theme D (reader_workspace full-file karaoke). The [web] extra installs it from file:packages/transcriptx_workspaces on git checkouts. Docker strips that extra before building the TranscriptX wheel (image pip cannot parse the relative file: URL), installs transcriptx with --no-deps (deps already from requirements.txt), and vendors the workspaces wheel in a later Dockerfile step.
pip install -e ".[web]"