Skip to content

Commit

Permalink
Add docs for pipx and ubi backends (jdx#54)
Browse files Browse the repository at this point in the history
  • Loading branch information
zph authored Apr 23, 2024
1 parent 1f96547 commit 5708bc7
Show file tree
Hide file tree
Showing 4 changed files with 99 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .vitepress/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ export default defineConfig({
{ text: 'cargo', link: '/dev-tools/backends/cargo' },
{ text: 'go', link: '/dev-tools/backends/go' },
{ text: 'npm', link: '/dev-tools/backends/npm' },
{ text: 'pipx', link: '/dev-tools/backends/pipx' },
{ text: 'ubi', link: '/dev-tools/backends/ubi' },
]
}
],
Expand Down
2 changes: 2 additions & 0 deletions dev-tools/backends/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ In addition to asdf plugins, you can also directly install CLIs with some packag
* [Cargo](/dev-tools/backends/cargo) <Badge type="warning" text="experimental" />
* [Go](/dev-tools/backends/go) <Badge type="warning" text="experimental" />
* [NPM](/dev-tools/backends/npm) <Badge type="warning" text="experimental" />
* [Pipx](/dev-tools/backends/pipx) <Badge type="warning" text="experimental" />
* [Ubi](/dev-tools/backends/ubi) <Badge type="warning" text="experimental" />
* [More coming soon!](https://github.com/jdx/mise/discussions/1250)

::: tip
Expand Down
53 changes: 53 additions & 0 deletions dev-tools/backends/pipx.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# pipx Backend <Badge type="warning" text="experimental" />

You may install python packages directly from:
- PyPI
- Git
- Github
- Http

The code for this is inside of the mise repository at [`./src/forge/pipx.rs`](https://github.com/jdx/mise/blob/main/src/forge/pipx.rs).

## Dependencies

This relies on having `pipx` installed. You can install it with or without mise.
Here is how to install `pipx` with mise:

```sh
mise use -g python
pip install --user pipx
```

Other installation instructions can be found [here](https://pipx.pypa.io/latest/installation/)

## Usage

The following installs the latest version of [black](https://github.com/psf/black)
and sets it as the active version on PATH:

```sh
$ mise use -g pipx:psf/black
$ black --version
black, 24.3.0
```

The version will be set in `~/.config/mise/config.toml` with the following format:

```toml
[tools]
"pipx:psf/black" = "latest"
```

### Supported Pipx Syntax

| Description | Usage |
| ------------------------------------- | ------------------------------------------------------ |
| PyPI shorthand latest version | `pipx:black` |
| PyPI shorthand for specific version | `pipx:[email protected]` |
| Github shorthand for latest version | `pipx:psf/black` |
| Github shorthand for specific version | `pipx:psf/[email protected]` |
| Git syntax for latest version | `pipx:git+https://github.com/psf/black` |
| Git syntax for a branch | `pipx:git+https://github.com/psf/black.git@main` |
| Https with zipfile | `pipx:https://github.com/psf/black/archive/18.9b0.zip` |

Other syntax may work but is unsupported and untested.
42 changes: 42 additions & 0 deletions dev-tools/backends/ubi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Ubi Backend <Badge type="warning" text="experimental" />

You may install Github Releases and URL packages directly using [ubi](https://github.com/houseabsolute/ubi) backend.

The code for this is inside of the mise repository at [`./src/forge/ubi.rs`](https://github.com/jdx/mise/blob/main/src/forge/ubi.rs).

## Dependencies

This relies on having `ubi` installed. You can install it with or without mise.
Here is how to install `ubi` with mise:

```sh
mise use -g cargo:ubi
```

## Usage

The following installs the latest version of goreleaser
and sets it as the active version on PATH:

```sh
$ mise use -g ubi:goreleaser/goreleaser
$ goreleaser --version
1.25.1
```

The version will be set in `~/.config/mise/config.toml` with the following format:

```toml
[tools]
"ubi:goreleaser/goreleaser" = "latest"
```

### Supported Ubi Syntax

| Description | Usage |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| Github shorthand for latest release version | `ubi:goreleaser/goreleaser` |
| Github shorthand for specific release version | `ubi:goreleaser/[email protected]` |
| URL syntax | `ubi:https://github.com/goreleaser/goreleaser/releases/download/v1.16.2/goreleaser_Darwin_arm64.tar.gz` |

Other syntax may work but is unsupported and untested.

0 comments on commit 5708bc7

Please sign in to comment.