id = "keyring" name = "keyring" homepage = "https://github.com/jaraco/keyring" description = "Store and access your passwords safely." executables = ["keyring"] [dotfiles] # keyring's official platform_ source resolves config_root to # $XDG_CONFIG_HOME/python_keyring (default ~/.config/python_keyring) on Unix, # including macOS, and %LOCALAPPDATA%/Python Keyring on Windows. Its core # source appends keyringrc.cfg. The file selects a backend; passwords live in # that backend and are not this file. # https://github.com/jaraco/keyring/blob/main/keyring/util/platform_.py # https://github.com/jaraco/keyring/blob/main/keyring/core.py paths = [ "[configHome]/python_keyring/keyringrc.cfg", "%LOCALAPPDATA%/Python Keyring/keyringrc.cfg", ] exclude = [] secret = [] side_effect = false [commands] format = 1 label = "Get, set or delete a password" description = "Read, store or delete a password in the system keyring for a service and username. Backend paths, --disable and completion are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "help" kind = "help" url = "https://github.com/jaraco/keyring/blob/main/keyring/cli.py" revision = "main 2026-10" evidence = """ "-b", "--keyring-backend", help="Name of the keyring backend", "--list-backends", help="List keyring backends and exit", "--mode", choices=self.parser._get_modes, # _get_modes = ["password", "creds"] "--output", choices=self.parser._output_formats, # _output_formats = ["plain", "json"] self.parser._operations = ["get", "set", "del", "diagnose"] 'operation', 'service', 'username' """ [[commands.field]] id = "operation" label = "Operation" type = "enum" position = 0 choices = [{ value = "get", label = "Get password" }, { value = "set", label = "Set password (prompts)" }, { value = "del", label = "Delete password" }, { value = "diagnose", label = "Diagnose" }] sources = ["help"] [[commands.field]] id = "service" label = "Service" type = "string" position = 1 sources = ["help"] [[commands.field]] id = "username" label = "Username" type = "string" position = 2 sources = ["help"] [[commands.field]] id = "backend" label = "Keyring backend" type = "string" option = ["--keyring-backend", "-b"] sources = ["help"] [[commands.field]] id = "mode" label = "Get mode" type = "enum" option = ["--mode"] choices = [{ value = "password", label = "Password only" }, { value = "creds", label = "Username and password" }] sources = ["help"] [[commands.field]] id = "output" label = "Output format" type = "enum" option = ["--output"] choices = [{ value = "plain", label = "Plain" }, { value = "json", label = "JSON" }] sources = ["help"] [[commands.field]] id = "list_backends" label = "List backends" type = "boolean" option = ["--list-backends"] sources = ["help"] [[commands.task]] id = "get" label = "Get a password" fields = ["operation", "service", "username"] required = ["operation", "service", "username"] set = { operation = ["get"] } [[commands.task]] id = "set" label = "Store a password" fields = ["operation", "service", "username"] required = ["operation", "service", "username"] set = { operation = ["set"] } [[commands.group]] id = "basic" label = "Basic" fields = ["operation", "service", "username"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["backend", "mode", "output", "list_backends"]