Pluginary

Scan, list, and manage VST3 & AU audio plugins with Python.
Crash-proof • High-performance • Cross-platform

Why Pluginary?

🚀 Crash-Proof

Process isolation ensures plugin crashes never affect the scanner. Automatic resume from interruptions.

⚡ High Performance

SQLite caching with full-text search. Async scanning with parallel processing for speed.

🔍 Smart Discovery

Automatically finds VST3 and AU plugins in standard locations. Custom folder support.

📊 Rich Metadata

Extracts parameters, manufacturers, and plugin details. Export to JSON or YAML.

🌐 Cross-Platform

Works on macOS (VST3 + AU), Windows (VST3), and Linux (VST3). Python 3.9+.

🛠️ CLI & Library

Powerful command-line tool and Python library. Perfect for automation and integration.

Quick Start

Install via pip

python3 -m pip install --upgrade pedalboard-pluginary

Requirements

  • Python 3.9 or newer
  • macOS, Windows, or Linux
  • VST3 plugins (all platforms) or AU plugins (macOS only)

Command-Line Examples

Scan all plugins:

pbpluginary scan

List plugins:

pbpluginary list

Search by vendor:

pbpluginary list --vendor "FabFilter" --type vst3

Export to JSON:

pbpluginary json --output plugins.json

View statistics:

pbpluginary info

Python Library

from pedalboard_pluginary import PedalboardPluginary
import asyncio

# Create scanner
scanner = PedalboardPluginary()

# Scan plugins (async)
plugins = asyncio.run(scanner.full_scan_async())

# List VST3 plugins by manufacturer
fabfilter = [
    p for p in plugins.values()
    if p.plugin_type == "vst3" 
    and "FabFilter" in (p.manufacturer or "")
]

# Search plugins (SQLite backend)
reverbs = scanner.search_plugins(query="Reverb", limit=10)
Plugin Formats
VST3 + AU
macOS, Windows, Linux
Storage
SQLite
With full-text search
Isolation
100%
Process isolation