TUI for OpenTofu provider registry.
Project description
tofuref
TUI for OpenTofu provider registry.
Features
- Keyboard first navigation
- Searchable index of providers and resources
- Copy blocks for your
required_providers - Copy snippets from the docs
- Browse all provider versions
- Bookmark frequently used providers and resources
- Cache visited providers and resources
- If the markdown viewer is not sufficient for you, quickly open the resource in your web browser
- Check provider stats to see if they are production ready based on stars and forks
- Configurable look to match the rest of your system
Installation
pipx install tofuref
Usage
Run the application:
tofuref
Controls
Actions
| keybindings | action |
|---|---|
s, / |
search in the context of providers and resources |
u, y |
context aware copying (using a provider/resource) |
v |
change active provider version |
b |
persistently bookmark an item to prioritize them in sorting when next re-ordered |
q, ctrl+q |
quit tofuref |
t |
toggle table of contents from content window |
B |
from content window, open active page in browser |
ctrl+l |
display log window |
ctrl+g |
open GitHub repository for provider |
ctrl+s |
Show stats of provider's github repo |
Focus windows
| keybindings | action |
|---|---|
tab |
focus next window |
shift+tab |
focus previous window |
p |
focus providers window |
r |
focus resources window |
c |
focus content window |
f |
toggle fullscreen mode |
Navigate in a window
Navigate with arrows/page up/page down/home/end or your mouse.
VIM keybindings should be also supported in a limited capacity.
Configuration
Default configuration can be overridden by a config file, which can be overridden with env variables.
Config file locations:
- Unix:
~/.config/tofuref/config.toml - macOS:
~/Library/Application Support"/tofuref/config.toml - Windows:
%USERPROFILE%\AppData\Local\tofuref\tofuref\config.toml
General
Put these as simple key=value in your config.toml.
| name | description | type | default | env |
|---|---|---|---|---|
| http_request_timeout | Timeout for all http requests (in seconds) | float | 3.0 | TOFUREF_HTTP_REQUEST_TIMEOUT |
| index_cache_duration_days | How long the provider index should be cached for (in days) | int | 31 | TOFUREF_INDEX_CACHE_DURATION_DAYS |
| fullscreen_init_threshold | Threshold of terminal width under which tofuref should start in fullscreen mode | int | 125 | TOFUREF_FULLSCREEN_INIT_THRESHOLD |
Theme
These options belong to a toml section, [theme].
| name | description | type | default | env |
|---|---|---|---|---|
| ui | Colorscheme for the UI, inspect available themes through command palette (^p) Change theme command |
string | textual-dark (or TEXTUAL_THEME env) |
TOFUREF_THEME_UI |
| codeblocks | CURRENTLY WORKS ONLY IN COPY MENU The pygments style for code blocks | string | material | TOFUREF_THEME_CODEBLOCKS |
| borders_style | The borders to use for windows, list and showcase of available here | string | ascii | TOFUREF_THEME_BORDERS_STYLE |
| emoji | Whether to display emojis or letters as icons | bool | true | TOFUREF_THEME_EMOJI |
Example file
Author's configuration:
fullscreen_init_threshold = 160
[theme]
ui = "dracula"
codeblocks = "dracula"
borders_style = "vkey"
Upgrade
pipx upgrade tofuref
Development notes
uv run --env-file=tests.env pytest --snapshot-update
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tofuref-1.5.0.tar.gz.
File metadata
- Download URL: tofuref-1.5.0.tar.gz
- Upload date:
- Size: 471.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
388f2a8a786cab38c714f83af87916cb6491171d9488355a6f5589382c258020
|
|
| MD5 |
57449c3cdcf86c8de374870f33b8ce73
|
|
| BLAKE2b-256 |
d24768d6898582e2179de16cabd97d61a26314472c154bb1aa067f057ccdb13a
|
Provenance
The following attestation bundles were made for tofuref-1.5.0.tar.gz:
Publisher:
python-publish.yml on djetelina/tofuref
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tofuref-1.5.0.tar.gz -
Subject digest:
388f2a8a786cab38c714f83af87916cb6491171d9488355a6f5589382c258020 - Sigstore transparency entry: 595713238
- Sigstore integration time:
-
Permalink:
djetelina/tofuref@7595c68c990fa98e0e286ccafff442a80b4942f6 -
Branch / Tag:
refs/tags/v1.5.0 - Owner: https://github.com/djetelina
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@7595c68c990fa98e0e286ccafff442a80b4942f6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file tofuref-1.5.0-py3-none-any.whl.
File metadata
- Download URL: tofuref-1.5.0-py3-none-any.whl
- Upload date:
- Size: 30.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee52d95d43b74e20f2be86ee82820828b41a58067d36f6b9cfd730e5c81db238
|
|
| MD5 |
26073bec9d587c3f8f555293ba567d8c
|
|
| BLAKE2b-256 |
d2d673709534a5678a71298a9aef796872e79da47ed9380df3a151fb0ebd7c70
|
Provenance
The following attestation bundles were made for tofuref-1.5.0-py3-none-any.whl:
Publisher:
python-publish.yml on djetelina/tofuref
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tofuref-1.5.0-py3-none-any.whl -
Subject digest:
ee52d95d43b74e20f2be86ee82820828b41a58067d36f6b9cfd730e5c81db238 - Sigstore transparency entry: 595713306
- Sigstore integration time:
-
Permalink:
djetelina/tofuref@7595c68c990fa98e0e286ccafff442a80b4942f6 -
Branch / Tag:
refs/tags/v1.5.0 - Owner: https://github.com/djetelina
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@7595c68c990fa98e0e286ccafff442a80b4942f6 -
Trigger Event:
release
-
Statement type: