{"id":24416756,"url":"https://github.com/sha1n/termite","last_synced_at":"2025-04-12T04:52:40.807Z","repository":{"id":37235307,"uuid":"298396001","full_name":"sha1n/termite","owner":"sha1n","description":"A library of rich terminal app utilities and visual elements such as progress indicators, cursor control and APIs for rendering and updating content in-place.","archived":false,"fork":false,"pushed_at":"2025-04-01T18:00:44.000Z","size":858,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T04:52:08.728Z","etag":null,"topics":["cli","go","golang","progress-bar","terminal","terminal-based","termite"],"latest_commit_sha":null,"homepage":"https://sha1n.github.io/termite","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/sha1n.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-09-24T21:11:42.000Z","updated_at":"2025-04-01T18:00:47.000Z","dependencies_parsed_at":"2023-09-22T14:50:18.982Z","dependency_job_id":"eb6e4039-f2bd-4387-80f0-e7da4c2348de","html_url":"https://github.com/sha1n/termite","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sha1n%2Ftermite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sha1n%2Ftermite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sha1n%2Ftermite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sha1n%2Ftermite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sha1n","download_url":"https://codeload.github.com/sha1n/termite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248519473,"owners_count":21117757,"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":["cli","go","golang","progress-bar","terminal","terminal-based","termite"],"created_at":"2025-01-20T08:14:13.583Z","updated_at":"2025-04-12T04:52:40.772Z","avatar_url":"https://github.com/sha1n.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Go](https://github.com/sha1n/termite/actions/workflows/go.yml/badge.svg)](https://github.com/sha1n/termite/actions/workflows/go.yml)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/sha1n/termite)\n[![Go Report Card](https://goreportcard.com/badge/github.com/sha1n/termite)](https://goreportcard.com/report/github.com/sha1n/termite)\n[![Coverage Status](https://coveralls.io/repos/github/sha1n/termite/badge.svg?branch=master\u0026service=github)](https://coveralls.io/github/sha1n/termite?branch=master)\n[![Release](https://img.shields.io/github/release/sha1n/termite.svg?style=flat-square)](https://github.com/sha1n/termite/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Go report card](https://github.com/sha1n/termite/actions/workflows/go-report-card.yml/badge.svg)](https://github.com/sha1n/termite/actions/workflows/go-report-card.yml)\n[![Release Drafter](https://github.com/sha1n/termite/actions/workflows/release-drafter.yml/badge.svg)](https://github.com/sha1n/termite/actions/workflows/release-drafter.yml)\n\n\n\u003cimg src=\"docs/images/termite.png\" width=\"96\"\u003e\n\n- [TERMite](#termite)\n  - [Install](#install)\n  - [Examples](#examples)\n    - [Spinner](#spinner)\n    - [Progress Bar](#progress-bar)\n  - [Showcase](#showcase)\n\n# TERMite\nTermite is my playground for terminal app utilities and visual elements such as progress bars and indicators, cursor control and screen updates.\n\n## Install\n```bash\ngo get github.com/sha1n/termite\n```\n\n## Examples\n### Spinner\n```go\nrefreshInterval := time.Millisecond * 100\nspinner := termite.NewSpinner(termite.StdoutWriter, \"Processing...\", refreshInterval, termite.DefaultSpinnerFormatter())\n\nif _, e := spinner.Start(); e == nil {\n  doWork()\n  \n  _ = spinner.Stop(\"Done!\")\n}\n```\n\n### Progress Bar\n```go\ntermWidth, _, _ := termite.GetTerminalDimensions()\nprogressBar := termite.NewProgressBar(termite.StdoutWriter, tickCount, width, termWidth, termite.DefaultProgressBarFormatter())\n\nif tick, cancel, err := progressBar.Start(); err == nil {\n  defer cancel()\n  \n  doWork(tick)\n}\n```\n\n## Showcase\nThe code for this demo can be found in [internal/main.go](https://github.com/sha1n/termite/blob/bd468fd578e96f32392d5e6abd0412b1dfd9edfa/internal/main.go) (`go run internal/main.go`). \n\n\u003cimg src=\"docs/images/termite_demo_800.gif\" width=\"100%\"\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsha1n%2Ftermite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsha1n%2Ftermite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsha1n%2Ftermite/lists"}