{"id":13416705,"url":"https://github.com/rivo/tview","last_synced_at":"2025-09-09T21:05:10.805Z","repository":{"id":37270004,"uuid":"114379163","full_name":"rivo/tview","owner":"rivo","description":"Terminal UI library with rich, interactive widgets — written in Golang","archived":false,"fork":false,"pushed_at":"2025-05-01T11:34:34.000Z","size":6365,"stargazers_count":11920,"open_issues_count":125,"forks_count":604,"subscribers_count":122,"default_branch":"master","last_synced_at":"2025-05-05T14:11:09.055Z","etag":null,"topics":["golang","terminal-based","user-interface"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rivo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"rivo"}},"created_at":"2017-12-15T14:28:14.000Z","updated_at":"2025-05-05T13:44:32.000Z","dependencies_parsed_at":"2023-02-02T17:45:35.039Z","dependency_job_id":"4d17088a-d83f-44b3-99ce-513947075129","html_url":"https://github.com/rivo/tview","commit_stats":{"total_commits":521,"total_committers":74,"mean_commits":7.04054054054054,"dds":0.5163147792706334,"last_synced_commit":"e22ce9588bb4e7b1206ce7b4fac5006a34c70365"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivo%2Ftview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivo%2Ftview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivo%2Ftview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rivo%2Ftview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rivo","download_url":"https://codeload.github.com/rivo/tview/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253618003,"owners_count":21936900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","terminal-based","user-interface"],"created_at":"2024-07-30T22:00:20.485Z","updated_at":"2025-09-09T21:05:10.789Z","avatar_url":"https://github.com/rivo.png","language":"Go","readme":"# Rich Interactive Widgets for Terminal UIs\n\n[![PkgGoDev](https://pkg.go.dev/badge/github.com/rivo/tview)](https://pkg.go.dev/github.com/rivo/tview)\n[![Go Report](https://img.shields.io/badge/go%20report-A%2B-brightgreen.svg)](https://goreportcard.com/report/github.com/rivo/tview)\n\nThis Go package provides commonly used components for terminal based user interfaces.\n\n![Screenshot](tview.gif)\n\nAmong these components are:\n\n- __Input forms__ (including __text input__, __selections__, __checkboxes__, and __buttons__)\n- Navigable multi-color __text views__\n- Editable multi-line __text areas__\n- Sophisticated navigable __table views__\n- Flexible __tree views__\n- Selectable __lists__\n- __Images__\n- __Grid__, __Flexbox__ and __page layouts__\n- Modal __message windows__\n- An __application__ wrapper\n\nThey come with lots of customization options and can be easily extended to fit your needs.\n\n## Usage\n\nTo add this package to your project:\n\n```bash\ngo get github.com/rivo/tview@master\n```\n\n## Hello World\n\nThis basic example creates a box titled \"Hello, World!\" and displays it in your terminal:\n\n```go\npackage main\n\nimport (\n\t\"github.com/rivo/tview\"\n)\n\nfunc main() {\n\tbox := tview.NewBox().SetBorder(true).SetTitle(\"Hello, world!\")\n\tif err := tview.NewApplication().SetRoot(box, true).Run(); err != nil {\n\t\tpanic(err)\n\t}\n}\n```\n\nCheck out the [GitHub Wiki](https://github.com/rivo/tview/wiki) for more examples along with screenshots. Or try the examples in the \"demos\" subdirectory.\n\nFor a presentation highlighting this package, compile and run the program found in the \"demos/presentation\" subdirectory.\n\n## Projects using `tview`\n\n- [K9s - Kubernetes CLI](https://github.com/derailed/k9s)\n- [IRCCloud Terminal Client](https://github.com/termoose/irccloud)\n- [Window manager for `tview`](https://github.com/epiclabs-io/winman)\n- [CLI bookmark manager](https://github.com/Endi1/drawer)\n- [A caving database interface written in Go](https://github.com/IdlePhysicist/cave-logger)\n- [Interactive file browse and exec any command.](https://github.com/bannzai/itree)\n- [A complete TUI for LDAP](https://github.com/Macmod/godap)\n- [A simple CRM](https://github.com/broadcastle/crm)\n- [Terminal UI for todist](https://github.com/cyberdummy/todoista)\n- [Graphical kubectl wrapper](https://github.com/dcaiafa/kpick)\n- [Decred Decentralized Exchange ](https://github.com/decred/dcrdex)\n- [A CLI file browser for Raspberry PI](https://github.com/destinmoulton/pixi)\n- [A tool to manage projects.](https://github.com/divramod/dp)\n- [A simple app for BMI monitoring](https://github.com/erleene/go-bmi)\n- [Stream TIDAL from command line](https://github.com/godsic/vibe)\n- [Secure solution for fully decentralized password management](https://github.com/guillaumemichel/passtor/)\n- [A growing collection of convenient little tools to work with systemd services](https://github.com/muesli/service-tools/)\n- [A terminal based browser for Redis written in Go](https://github.com/nitishm/redis-terminal)\n- [First project for the Computer Networks course.](https://github.com/pablogadhi/XMPPClient)\n- [Test your typing speed in the terminal!](https://github.com/shilangyu/typer-go)\n- [TUI Client for Docker](https://github.com/skanehira/docui)\n- [SSH client using certificates signed by HashiCorp Vault](https://github.com/stephane-martin/vssh)\n- [VMware vCenter Text UI](https://github.com/thebsdbox/vctui)\n- [Bookmarks on terminal](https://github.com/tryffel/bookmarker)\n- [A UDP testing utility](https://github.com/vaelen/udp-tester)\n- [A simple Kanban board for your terminal](https://github.com/witchard/toukan)\n- [The personal information dashboard for your terminal. ](https://github.com/wtfutil/wtf)\n- [MySQL database to Golang struct](https://github.com/xxjwxc/gormt)\n- [Discord, TUI and SIXEL.](https://gitlab.com/diamondburned/6cord)\n- [A CLI Audio Player](https://www.github.com/dhulihan/grump)\n- [GLab, a GitLab CLI tool](https://gitlab.com/profclems/glab)\n- [Browse your AWS ECS Clusters in the Terminal](https://github.com/swartzrock/ecsview)\n- [The CLI Task Manager for Geeks](https://github.com/ajaxray/geek-life)\n- [Fast disk usage analyzer written in Go](https://github.com/dundee/gdu)\n- [Multiplayer Chess On Terminal](https://github.com/qnkhuat/gochess)\n- [Scriptable TUI music player](https://github.com/issadarkthing/gomu)\n- [MangaDesk : TUI Client for downloading manga to your computer](https://github.com/darylhjd/mangadesk)\n- [Go How Much? a Crypto coin price tracking from terminal](https://github.com/ledongthuc/gohowmuch)\n- [dbui: Universal CLI for Database Connections](https://github.com/KenanBek/dbui)\n- [ssmbrowse: Simple and elegant cli AWS SSM parameter browser](https://github.com/bnaydenov/ssmbrowse)\n- [gobit: binance intelligence terminal](https://github.com/infl00p/gobit)\n- [viddy: A modern watch command](https://github.com/sachaos/viddy)\n- [s3surfer: CLI tool for browsing S3 bucket and download objects interactively](https://github.com/hirose31/s3surfer)\n- [libgen-tui: A terminal UI for downloading books from Library Genesis](https://github.com/audstanley/libgen-tui)\n- [kubectl-lazy: kubectl plugin to easy to view pod](https://github.com/togettoyou/kubectl-lazy)\n- [podman-tui: podman user interface](https://github.com/containers/podman-tui)\n- [tvxwidgets: tview extra widgets](https://github.com/navidys/tvxwidgets)\n- [Domino card game on terminal](https://github.com/gusti-andika/card-domino.git)\n- [goaround: Query stackoverflow API and get results on terminal](https://github.com/glendsoza/goaround)\n- [resto: a CLI app can send pretty HTTP \u0026 API requests with TUI](https://github.com/abdfnx/resto)\n- [twad: a WAD launcher for the terminal](https://github.com/zmnpl/twad)\n- [pacseek: A TUI for searching and installing Arch Linux packages](https://github.com/moson-mo/pacseek)\n- [7GUIs demo](https://github.com/letientai299/7guis/tree/master/tui)\n- [tuihub: A utility hub/dashboard for personal use](https://github.com/ashis0013/tuihub)\n- [l'oggo: A terminal app for structured log streaming (GCP stack driver, k8s, local streaming)](https://github.com/aurc/loggo)\n- [reminder: Terminal based interactive app for organising tasks with minimal efforts.](https://github.com/goyalmunish/reminder)\n- [tufw: A terminal UI for ufw.](https://github.com/peltho/tufw)\n- [gh: the GitHub CLI](https://github.com/cli/cli)\n- [piptui: Terminal UI to manage pip packages](https://github.com/glendsoza/piptui/)\n- [cross-clipboard: A cross-platform clipboard sharing](https://github.com/ntsd/cross-clipboard)\n- [tui-deck: nextcloud deck frontend](https://github.com/mebitek/tui-deck)\n- [ktop: A top-like tool for your Kubernetes clusters](https://github.com/vladimirvivien/ktop)\n- [blimp: UI for weather, network latency, application status, \u0026 more](https://github.com/merlinfuchs/blimp)\n- [Curly - A simple TUI leveraging curl to test endpoints](https://github.com/migcaraballo/curly)\n- [amtui: Alertmanager TUI](https://github.com/pehlicd/amtui)\n- [A TUI CLI manager](https://github.com/costa86/cli-manager)\n- [PrivateBTC](https://github.com/adrianbrad/privatebtc)\n- [play: A TUI playground to experiment with your favorite programs, such as grep, sed, awk, jq and yq](https://github.com/paololazzari/play)\n- [gorest: Enjoy making HTTP requests in your terminal, just like you do in Insomnia.](https://github.com/NathanFirmo/gorest)\n- [Terminal-based application to listen Radio Stations around the world!](https://github.com/vergonha/garden-tui)\n- [ntui: A TUI to manage Hashicorp Nomad clusters](https://github.com/SHAPPY0/ntui)\n- [lazysql: A cross-platform TUI database management tool written in Go](https://github.com/jorgerojas26/lazysql)\n- [redis-tui: A Redis Text-based UI client in CLI](https://github.com/mylxsw/redis-tui)\n- [fen: File manager](https://github.com/kivattt/fen)\n- [sqltui: A terminal UI to operate sql and nosql databases](https://github.com/LinPr/sqltui)\n- [DBee: Simple database browser](https://github.com/murat-cileli/dbee)\n- [oddshub: A TUI for sports betting odds](https://github.com/dos-2/oddshub)\n- [envolve: Terminal based interactive app for manage enviroment variables](https://github.com/erdemkosk/envolve)\n- [zfs-file-history: Terminal UI for inspecting and restoring file history on ZFS snapshots](https://github.com/markusressel/zfs-file-history)\n- [fan2go-tui: Terminal UI for fan2go](https://github.com/markusressel/fan2go-tui)\n- [NatsDash: Terminal UI for NATS Jetstream](https://nats-dash-gui.returnzero.win/)\n- [tuissh: A terminal UI to manage ssh connections](https://github.com/linuxexam/tuissh)\n- [chiko: Ultimate Beauty TUI gRPC Client](https://github.com/felangga/chiko)\n- [kmip-explorer: Browse \u0026 manage your KMIP objects from the terminal](https://github.com/phsym/kmip-explorer)\n- [stui: Slurm TUI for managing HPC clusters](https://github.com/antvirf/stui)\n- [nerdlog: Fast, remote-first, multi-host log viewer with timeline histogram](https://github.com/dimonomid/nerdlog)\n\n## Documentation\n\nRefer to https://pkg.go.dev/github.com/rivo/tview for the package's documentation. Also check out the [Wiki](https://github.com/rivo/tview/wiki).\n\n## Dependencies\n\nThis package is based on [github.com/gdamore/tcell](https://github.com/gdamore/tcell) (and its dependencies) as well as on [github.com/rivo/uniseg](https://github.com/rivo/uniseg).\n\n## Sponsor this Project\n\n[Become a Sponsor on GitHub](https://github.com/sponsors/rivo?metadata_source=tview_readme) to further this project!\n\n## Backwards-Compatibility\n\nI try really hard to keep this project backwards compatible. Your software should not break when you upgrade `tview`. But this also means that some of its shortcomings that were present in the initial versions will remain. Having said that, backwards compatibility may still break when:\n\n- a new version of an imported package (most likely [`tcell`](https://github.com/gdamore/tcell)) changes in such a way that forces me to make changes in `tview` as well,\n- I fix something that I consider a bug, rather than a feature, something that does not work as originally intended,\n- I make changes to \"internal\" interfaces such as [`Primitive`](https://pkg.go.dev/github.com/rivo/tview#Primitive). You shouldn't need these interfaces unless you're writing your own primitives for `tview`. (Yes, I realize these are public interfaces. This has advantages as well as disadvantages. For the time being, it is what it is.)\n\n## Your Feedback\n\nAdd your issue here on GitHub. Feel free to get in touch if you have any questions.\n\n## Code of Conduct\n\nWe follow Golang's Code of Conduct which you can find [here](https://golang.org/conduct).\n","funding_links":["https://github.com/sponsors/rivo","https://github.com/sponsors/rivo?metadata_source=tview_readme"],"categories":["Popular","Go","Misc","开源类库","CLI frameworks","Open source library","Library","Multimedia","语言资源库","golang","\u003ca name=\"Go\"\u003e\u003c/a\u003eGo"],"sub_categories":["命令行","Command Line","Text-mode UI, terminal","go"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frivo%2Ftview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frivo%2Ftview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frivo%2Ftview/lists"}