📦 Installed Package Registry¶
This directory contains metadata for all installed dependencies in AudioLab.
Purpose¶
The registry provides: - Single source of truth for what's installed - Version tracking for reproducible builds - Installation metadata (date, source, location) - Quick lookups without querying package managers
Directory Structure¶
_installed_registry/
├── vcpkg/ ← C++ packages installed via vcpkg
│ ├── fftw3.yaml
│ ├── eigen3.yaml
│ └── ...
├── python/ ← Python tools and packages
│ ├── black.yaml
│ └── ...
├── vendored/ ← Vendored dependencies (submodules)
│ └── juce.yaml
└── README.md ← This file
File Format¶
Each .yaml file contains:
name: package_name
version: "1.2.3"
installed_date: "2025-10-03"
installed_via: vcpkg | pip | git_submodule
physical_location: /path/to/package
category: dsp | testing | framework | tooling
size_mb: 50
purpose: "Brief description"
notes: "Optional additional info"
Maintenance¶
DO NOT edit manually¶
Registry files are automatically created/updated by:
- install_core_deps.ps1 - During installation
- update_registry.ps1 - Manual sync with actual installations
When to Update¶
Update registry when: - Installing new packages - Upgrading existing packages - Removing packages (delete .yaml file) - After system restore/migration
Sync Registry¶
To synchronize registry with actual installations:
Usage¶
List All Installed Packages¶
Query Specific Package¶
Check Installation Date¶
Get-ChildItem _installed_registry\**\*.yaml |
Select-Object Name, @{Name="Installed";Expression={
(Get-Content $_.FullName | Select-String "installed_date").ToString().Split(":")[1].Trim()
}}
Benefits¶
- Fast Lookups: No need to query vcpkg/pip every time
- Historical Record: Know when packages were installed
- CI/CD Integration: Easy to parse in scripts
- Offline Availability: Works without package managers
- Custom Metadata: Add project-specific notes
See Also¶
- ../vcpkg.json - vcpkg manifest
- ../requirements.txt - Python requirements
- ../../03_03_05_vendoring/ - Vendored dependencies