id = "pyenv" name = "pyenv" homepage = "https://github.com/pyenv/pyenv" description = "pyenv lets you easily switch between multiple versions of Python." # The pyenv organisation's avatar — a purpose-drawn mark for this project, # which is the only thing that org publishes. No logo file in the repo. icon = "https://github.com/pyenv.png" executables = ["pyenv"] [dotfiles] # README: "The global $(pyenv root)/version file. You can modify this file # using the pyenv global command", and COMMANDS.md documents PYENV_ROOT as # defaulting to ~/.pyenv. That one file — a single line naming the default # Python — is the only thing under PYENV_ROOT the user authors. paths = ["~/.pyenv/version"] # The rest of PYENV_ROOT is installed software and generated stubs, not # configuration. Same README: "Each Python version is installed into its own # directory under $(pyenv root)/versions", and pyenv "works by inserting a # directory of shims at the front of your PATH: $(pyenv root)/shims". # plugins/python-build/README.md names ~/.pyenv/cache as the download cache # for source tarballs. `plugins/` is where pyenv's own git checkout keeps # python-build and anything the user cloned in beside it. exclude = [ "~/.pyenv/versions/", "~/.pyenv/shims/", "~/.pyenv/cache/", "~/.pyenv/plugins/", ] # pyenv has no credentials. secret = [] # Read once per invocation by a shell script; no resident process holds it. side_effect = false # No machine_lines: the file holds one version string and nothing else, so # there is no line to leave behind — a consumer that syncs it should expect # the receiving machine to need `pyenv install` for that version. [commands] format = 1 label = "pyenv" description = "Use the subcommand tabs to install a Python version or set the global or local one." quality = "ai-draft" base = "fig:pyenv" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/pyenv.ts" license = "MIT" [[commands.subcommand]] path = ["install"] label = "Install a Python version" [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/pyenv.ts" license = "MIT" [[commands.subcommand.field]] id = "version" label = "Version" description = "For example 3.12.4." type = "string" position = 0 sources = ["fig"] [[commands.subcommand.field]] id = "list" label = "List available versions" type = "boolean" option = ["--list", "-l"] sources = ["fig"] [[commands.subcommand.field]] id = "force" label = "Reinstall if present" type = "boolean" option = ["--force", "-f"] effect = "overwrite" sources = ["fig"] [[commands.subcommand.field]] id = "skip_existing" label = "Skip if installed" type = "boolean" option = ["--skip-existing", "-s"] sources = ["fig"] [[commands.subcommand.field]] id = "keep" label = "Keep source tree" type = "boolean" option = ["--keep", "-k"] sources = ["fig"] [[commands.subcommand.field]] id = "verbose" label = "Verbose build" type = "boolean" option = ["--verbose", "-v"] sources = ["fig"] [[commands.subcommand.field]] id = "debug" label = "Debug build" type = "boolean" option = ["--debug", "-g"] sources = ["fig"] [[commands.subcommand.task]] id = "install" label = "Install" fields = ["version", "skip_existing", "verbose"] required = ["version"] [[commands.subcommand.task]] id = "list" label = "List versions" fields = ["list"] required = ["list"] set = { list = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["version", "list", "skip_existing", "force", "verbose"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["keep", "debug"] [[commands.subcommand]] path = ["global"] label = "Set the global version" [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/pyenv.ts" license = "MIT" [[commands.subcommand.field]] id = "version" label = "Version" type = "string" position = 0 sources = ["fig"] [[commands.subcommand.task]] id = "set" label = "Set global" fields = ["version"] required = ["version"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["version"] [[commands.subcommand]] path = ["local"] label = "Set the local version" description = "Writes .python-version in the current directory." [[commands.subcommand.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/pyenv.ts" license = "MIT" [[commands.subcommand.field]] id = "versions" label = "Version(s)" type = "string" position = 0 multiple = true sources = ["fig"] [[commands.subcommand.field]] id = "unset" label = "Unset" type = "boolean" option = ["--unset"] sources = ["fig"] [[commands.subcommand.task]] id = "set" label = "Set local" fields = ["versions"] required = ["versions"] [[commands.subcommand.task]] id = "unset" label = "Unset local" fields = ["unset"] required = ["unset"] set = { unset = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["versions", "unset"]