Switches in picard-plugins.exe file not working

Powershell:
Sometimes it asks for .\picard-plugins

PS C:\Program Files\MusicBrainz Picard> picard-plugins --manifest
picard-plugins: The term 'picard-plugins' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

[General Feedback]
  The command "picard-plugins" was not found, but does exist in the current location.
  PowerShell does not load commands from the current location by default (see 'Get-Help about_Command_Precedence').

  If you trust this command, run the following command instead:
    > .\picard-plugins

PS C:\Program Files\MusicBrainz Picard> .\picard-plugins --manifest
# MANIFEST.toml Template
# See https://picard-docs.musicbrainz.org/en/extending/plugins.html

# Required fields
uuid = "41d5b31e-90ed-4b8b-91e8-c7f047918f7d"  # Generated UUID - keep this value
name = "My Plugin Name"
description = "Short one-line description (1-200 characters)"
api = ["3.0"]

# Optional fields
# authors = ["Your Name"]
# maintainers = ["Your Name"]
# license = "GPL-2.0-or-later"
# license_url = "https://www.gnu.org/licenses/gpl-2.0.html"
# long_description = """
# Detailed multi-line description (1-2000 characters).
# Explain features, requirements, usage notes, etc.
# """
# categories = ["metadata", "coverart", "ui", "scripting", "formats", "other"]
# homepage = "https://github.com/username/plugin-name"
# report_bugs_to = "https://github.com/username/plugin-name/issues"
# min_python_version = "3.9"
# source_locale = "en"  # Source language for translations (default: "en")

# Translation tables (optional)
# [name_i18n]
# de = "Mein Plugin Name"
# fr = "Mon nom de plugin"

# [description_i18n]
# de = "Kurze einzeilige Beschreibung"
# fr = "Courte description sur une ligne"

# [long_description_i18n]
# de = """
# Detaillierte mehrzeilige Beschreibung...
# """
# fr = """
# Description détaillée sur plusieurs lignes...
# """

PS C:\Program Files\MusicBrainz Picard> .\picard-plugins --uuid
usage: picard-plugins.exe [-h] [-c CONFIG_FILE] [--debug] [-v] [-V] [--debug-opts [OPTIONS]] [--yes] [--no-color] [-l]
                          [-i URL [URL ...]] [-r PLUGIN [PLUGIN ...]] [-e PLUGIN [PLUGIN ...]]
                          [-d PLUGIN [PLUGIN ...]] [-u PLUGIN [PLUGIN ...]] [--update-all] [--info PLUGIN]
                          [--validate URL] [--clean-config [PLUGIN]] [--manifest [PLUGIN]] [--list-refs PLUGIN]
                          [--ref REF] [--switch-ref PLUGIN REF] [--browse] [--search QUERY] [--check-blacklist [URL]]
                          [--uuid UUID] [--refresh-registry] [--check-updates] [--reinstall] [--force-blacklisted]
                          [--trust-community] [--trust LEVEL] [--category CATEGORY] [--purge] [--locale LOCALE]
picard-plugins.exe: error: argument --uuid: expected one argument
PS C:\Program Files\MusicBrainz Picard>

CMD:

C:\Program Files\MusicBrainz Picard>picard-plugins --manifest
# MANIFEST.toml Template
# See https://picard-docs.musicbrainz.org/en/extending/plugins.html

# Required fields
uuid = "e016834e-ca20-48a9-afd9-45eb6b95769e"  # Generated UUID - keep this value
name = "My Plugin Name"
description = "Short one-line description (1-200 characters)"
api = ["3.0"]

# Optional fields
# authors = ["Your Name"]
# maintainers = ["Your Name"]
# license = "GPL-2.0-or-later"
# license_url = "https://www.gnu.org/licenses/gpl-2.0.html"
# long_description = """
# Detailed multi-line description (1-2000 characters).
# Explain features, requirements, usage notes, etc.
# """
# categories = ["metadata", "coverart", "ui", "scripting", "formats", "other"]
# homepage = "https://github.com/username/plugin-name"
# report_bugs_to = "https://github.com/username/plugin-name/issues"
# min_python_version = "3.9"
# source_locale = "en"  # Source language for translations (default: "en")

# Translation tables (optional)
# [name_i18n]
# de = "Mein Plugin Name"
# fr = "Mon nom de plugin"

# [description_i18n]
# de = "Kurze einzeilige Beschreibung"
# fr = "Courte description sur une ligne"

# [long_description_i18n]
# de = """
# Detaillierte mehrzeilige Beschreibung...
# """
# fr = """
# Description détaillée sur plusieurs lignes...
# """


C:\Program Files\MusicBrainz Picard>picard-plugins --uuid
usage: picard-plugins [-h] [-c CONFIG_FILE] [--debug] [-v] [-V] [--debug-opts [OPTIONS]] [--yes] [--no-color] [-l]
                      [-i URL [URL ...]] [-r PLUGIN [PLUGIN ...]] [-e PLUGIN [PLUGIN ...]] [-d PLUGIN [PLUGIN ...]]
                      [-u PLUGIN [PLUGIN ...]] [--update-all] [--info PLUGIN] [--validate URL]
                      [--clean-config [PLUGIN]] [--manifest [PLUGIN]] [--list-refs PLUGIN] [--ref REF]
                      [--switch-ref PLUGIN REF] [--browse] [--search QUERY] [--check-blacklist [URL]] [--uuid UUID]
                      [--refresh-registry] [--check-updates] [--reinstall] [--force-blacklisted] [--trust-community]
                      [--trust LEVEL] [--category CATEGORY] [--purge] [--locale LOCALE]
picard-plugins: error: argument --uuid: expected one argument

C:\Program Files\MusicBrainz Picard>

As you figured out yourself you need to run a local command with .\picard-plugins in PowerShell. That has nothing to do with Picard, but with PowerShell.

And as the help output and error message shows the --uuid parameter requires to give it the UUID of a plugin.

Aha, OK. But what do you recommend? Regular CMD or Powershell?

Can I only get the UUID via --manifest?

Zas wrote at the meeting about the new command picard-plugins –init.

When will it be available?

That’s really up to you. I personally would prefer PS as the more modern shell, which is also more similar to Unix shells in many regards. But it is also more complex than the traditional CMD.

For just running some commands both work.

You can also run --info {plugin_name} to show details about a plugin, including it’s UUID.

It will be generally available with the next beta release.

1 Like

I was more concerned with generating a new UUID. :wink: