A Python application that provides audio transcription using Whisper and
OpenAI models.
The project is managed with uv (Ultrafast Python Package Manager).
git clone https://github.com/yourusername/yourrepo.git
cd yourrepocurl -LsSf https://astral.sh/uv/install.sh | sh---or via pip---
pip install uvuv uses pyproject.toml + uv.lock to reproduce the environment:
uv syncThis automatically:
- Creates a virtual environment (
.venv) - Installs all dependencies
- Pins exact versions from
uv.lock
src/
└── app/
└── convertor/
└── service/
└── transcription_service.py
data/
└── inputs/
└── file.ogg
Run from the root directory:
uv run src/app/convertor/service/transcription_service.py Running from the project root ensures that relative paths like
data/inputs/... resolve correctly.
uv run pytestuv add <package-name>uv lock --upgrade
uv syncEnsure the script is always run from the project root.
Correct:
uv run src/app/convertor/service/transcription_service.pyIncorrect:
cd src/app/convertor/service/
uv run transcription_service.py # ❌ breaks relative paths