vaultlab-meetings
Smart Windows meeting recorder with per-app audio capture, voice-activity detection, and local-or-cloud transcription. Originally built standalone; now also serves as the meeting-context layer for vaultlab.
Install name:
vaultlab-meetings(PyPI) Import name:meeting_recorder(Python)
pip install vaultlab-meetings
import meeting_recorder
The split is intentional — meeting-recorder was already taken on PyPI, so the package ships under the vaultlab-meetings name while keeping the original import name for stability across existing scripts.
What it does
- Captures per-app audio on Windows (Zoom, Teams, browser-based meetings, anything that goes through Windows audio)
- Voice-activity detection trims silence and skips empty stretches
- Local transcription via faster-whisper or cloud via OpenAI
- Optional speaker diarization via pyannote.audio
- System-tray app with hotkey controls; saves recordings + transcripts to a configurable folder
- Optional Outlook calendar integration: auto-tags recordings with the meeting that was on your calendar
Install
Base install (recording only, no transcription backend):
pip install vaultlab-meetings
With local transcription (faster-whisper + torch):
pip install "vaultlab-meetings[local]"
With cloud transcription (OpenAI Whisper API):
pip install "vaultlab-meetings[cloud]"
With Outlook calendar tagging (Windows + Outlook Classic):
pip install "vaultlab-meetings[outlook]"
Combine extras as needed: pip install "vaultlab-meetings[local,outlook,gdrive]".
Quick start
meeting-recorder
Drops a tray icon. Hotkeys (configurable in config.toml):
- Start/stop recording
- Mark a moment (saves a timestamped flag in the transcript)
- Open the recordings folder
Recordings + transcripts land at the path set in config.toml (default: ~/MeetingRecordings/).
Use from vaultlab
When vaultlab[meetings] is installed (which pulls vaultlab-meetings), vaultlab's vaultlab.context.meetings module wraps this package and ingests transcripts into your KB:
from vaultlab.context.meetings import is_available, start_recording
if is_available():
start_recording(project="codex-pdac")
Transcripts land at <kb>/Sources/Meetings/<YYYY-MM-DD>-<slug>.md with frontmatter (date, attendees, project, recording_path, duration, transcription_model) so they're searchable from any vaultlab slash command.
Platform
Currently Windows-only. Per-app audio capture relies on PyAudioWPatch, pycaw, and mss, which are Windows-specific. macOS/Linux support is planned via a different recording backend; PRs welcome.
License
MIT. See LICENSE.
Metadata
Release files for vaultlab-meetings 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vaultlab_meetings-0.1.0.tar.gz | 497.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vaultlab_meetings-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 892.7 kB
Release files / vaultlab_meetings-0.1.0.tar.gz
| Download URL | vaultlab_meetings-0.1.0.tar.gz |
|---|---|
| Size | 497.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
909ad41260ab123c9eb7117e07d582f6611b001c71053721789efd47931c009f
|
|
BLAKE2b-256 checksum How to use checksums |
0017592f1296f60df4d0283969052d1402e300b7d77b80a1e66851ba54f7222e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 30, 2026.
Transparency logRelease files / vaultlab_meetings-0.1.0-py3-none-any.whl
| Download URL | vaultlab_meetings-0.1.0-py3-none-any.whl |
|---|---|
| Size | 395.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df885b147e0df7e51204dbe8883e2900fd43474444715d67c55ea757d5150d68
|
|
BLAKE2b-256 checksum How to use checksums |
56e0df341b510a0d7805165b07838b0c7b4b77e726c98837ea04b0a35746d909
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 30, 2026.
Transparency log