Skip to content

Installing fyn

Installation methods

Install fyn with PyPI, GitHub release assets, or your package manager of choice.

Standalone installer

When a release includes standalone installer scripts, download the matching script from the GitHub release page and run it locally:

$ sh install.sh
PS> powershell -ExecutionPolicy ByPass -File .\install.ps1

Changing the execution policy allows running a script from the internet.

Tip

The installation script may be inspected before use:

$ less install.sh
PS> Get-Content .\install.ps1

Alternatively, use pipx install fyn, or download a platform archive directly from GitHub Releases.

See the reference documentation on the installer for details on customizing your fyn installation.

PyPI

For convenience, fyn is published to PyPI.

If installing from PyPI, we recommend installing fyn into an isolated environment, e.g., with pipx:

$ pipx install fyn

However, pip can also be used:

$ pip install fyn

Note

fyn ships with prebuilt distributions (wheels) for many platforms; if a wheel is not available for a given platform, fyn will be built from source, which requires a Rust toolchain. See the contributing setup guide for details on building fyn from source.

Homebrew

fyn is available in the core Homebrew packages.

$ brew install fyn

MacPorts

fyn is available via MacPorts.

$ sudo port install fyn

WinGet

fyn is available via WinGet.

$ winget install --id=oha.fyn  -e

Scoop

fyn is available via Scoop.

$ scoop install main/fyn

Docker

fyn provides a Docker image at ghcr.io/oha/fyn.

See our guide on using fyn in Docker for more details.

GitHub Releases

fyn release artifacts can be downloaded directly from GitHub Releases.

Each release page includes binaries for supported platforms, and may also include standalone installer scripts.

Cargo

fyn is available via crates.io.

$ cargo install --locked fyn

Note

This method builds fyn from source, which requires a compatible Rust toolchain.

Upgrading fyn

When fyn is installed via the standalone installer, it can update itself on-demand:

$ fyn self update

Tip

Updating fyn will re-run the installer and can modify your shell profiles. To disable this behavior, set UV_NO_MODIFY_PATH=1.

When another installation method is used, self-updates are disabled. Use the package manager's upgrade method instead. For example, with pip:

$ pip install --upgrade fyn

Shell autocompletion

Tip

You can run echo $SHELL to help you determine your shell.

To enable shell autocompletion for fyn commands, run one of the following:

echo 'eval "$(fyn generate-shell-completion bash)"' >> ~/.bashrc
echo 'eval "$(fyn generate-shell-completion zsh)"' >> ~/.zshrc
echo 'fyn generate-shell-completion fish | source' > ~/.config/fish/completions/fyn.fish
echo 'eval (fyn generate-shell-completion elvish | slurp)' >> ~/.elvish/rc.elv
if (!(Test-Path -Path $PROFILE)) {
  New-Item -ItemType File -Path $PROFILE -Force
}
Add-Content -Path $PROFILE -Value '(& fyn generate-shell-completion powershell) | Out-String | Invoke-Expression'

To enable shell autocompletion for fynx, run one of the following:

echo 'eval "$(fynx --generate-shell-completion bash)"' >> ~/.bashrc
echo 'eval "$(fynx --generate-shell-completion zsh)"' >> ~/.zshrc
echo 'fynx --generate-shell-completion fish | source' > ~/.config/fish/completions/fynx.fish
echo 'eval (fynx --generate-shell-completion elvish | slurp)' >> ~/.elvish/rc.elv
if (!(Test-Path -Path $PROFILE)) {
  New-Item -ItemType File -Path $PROFILE -Force
}
Add-Content -Path $PROFILE -Value '(& fynx --generate-shell-completion powershell) | Out-String | Invoke-Expression'

Then restart the shell or source the shell config file.

Uninstallation

If you need to remove fyn from your system, follow these steps:

  1. Clean up stored data (optional):

    $ fyn cache clean
    $ rm -r "$(fyn python dir)"
    $ rm -r "$(fyn tool dir)"
    

    Tip

    Before removing the binaries, you may want to remove any data that fyn has stored. See the storage reference for details on where fyn stores data.

  2. Remove the fyn, fynx, and fynw binaries:

    $ rm ~/.local/bin/fyn ~/.local/bin/fynx
    
    PS> rm $HOME\.local\bin\fyn.exe
    PS> rm $HOME\.local\bin\fynx.exe
    PS> rm $HOME\.local\bin\fynw.exe
    

    Note

    Prior to 0.5.0, fyn was installed into ~/.cargo/bin. The binaries can be removed from there to uninstall. Upgrading from an older version will not automatically remove the binaries from ~/.cargo/bin.

Next steps

See the first steps or jump straight to the guides to start using fyn.