Skip to main content

TUI for OpenTofu provider registry.

Project description

tofuref

PyPI - Version PyPI - License PyPI - Downloads GitHub Repo stars

TUI for OpenTofu provider registry.

Screenshot

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tofuref-1.5.0.tar.gz (471.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tofuref-1.5.0-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

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

Hashes for tofuref-1.5.0.tar.gz
Algorithm Hash digest
SHA256 388f2a8a786cab38c714f83af87916cb6491171d9488355a6f5589382c258020
MD5 57449c3cdcf86c8de374870f33b8ce73
BLAKE2b-256 d24768d6898582e2179de16cabd97d61a26314472c154bb1aa067f057ccdb13a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tofuref-1.5.0.tar.gz:

Publisher: python-publish.yml on djetelina/tofuref

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for tofuref-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee52d95d43b74e20f2be86ee82820828b41a58067d36f6b9cfd730e5c81db238
MD5 26073bec9d587c3f8f555293ba567d8c
BLAKE2b-256 d2d673709534a5678a71298a9aef796872e79da47ed9380df3a151fb0ebd7c70

See more details on using hashes here.

Provenance

The following attestation bundles were made for tofuref-1.5.0-py3-none-any.whl:

Publisher: python-publish.yml on djetelina/tofuref

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page