{"id":17114718,"url":"https://github.com/theeko74/loadingbar","last_synced_at":"2025-07-03T19:07:05.538Z","repository":{"id":62576527,"uuid":"122091292","full_name":"theeko74/loadingbar","owner":"theeko74","description":"A loading bar for a terminal window","archived":false,"fork":false,"pushed_at":"2025-06-11T15:26:46.000Z","size":424,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-15T13:08:08.493Z","etag":null,"topics":["loading-bar","python2","python3","terminal-based"],"latest_commit_sha":null,"homepage":"","language":"Python","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/theeko74.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-02-19T16:42:05.000Z","updated_at":"2025-06-11T15:26:56.000Z","dependencies_parsed_at":"2022-11-03T19:05:13.322Z","dependency_job_id":null,"html_url":"https://github.com/theeko74/loadingbar","commit_stats":null,"previous_names":["theeko74/loading"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/theeko74/loadingbar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theeko74%2Floadingbar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theeko74%2Floadingbar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theeko74%2Floadingbar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theeko74%2Floadingbar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theeko74","download_url":"https://codeload.github.com/theeko74/loadingbar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theeko74%2Floadingbar/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260060078,"owners_count":22953071,"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":["loading-bar","python2","python3","terminal-based"],"created_at":"2024-10-14T17:19:57.266Z","updated_at":"2025-07-03T19:07:05.474Z","avatar_url":"https://github.com/theeko74.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Python Loading Bar\n=====================\n![Travis Test](https://travis-ci.org/theeko74/loadingbar.svg?branch=master)\n\nPython module to display a nice loading bar in a terminal window.\n\nInstall\n-------\nGo to the module directory and run:\n```\n$ pip install setup.py\n```\n\nOr:\n```\n$ python3 setup.py install\n```\n\n\nGetting Started\n---------------\n\nThere are 3 different loading bar:\n1. Standard loading bar\n2. Loading bar with size loaded, speed and remaining time\n3. Loading bar with infos above plus a custom message (usefull to display a verbose loading bar)\n\n## Option 1\n\nStandard loading bar without any other infos.\n\n![Loading bar option 1](screenshots/Option1.png)\n\n```python\nimport loading\ntotal_file_size = 1000\n# Create a loading bar object with total_file_size in bytes\nlb = loadingbar.LoadingBar(total_file_size)\n\n# For every piece of file\nfor chunk in file:\n  # Update the loading bar with the len of new data\n  lg.update(len(chunk))\n\n# When finished, display a 100% loading bar\nlg.done()\n```\n\n## Option 2\n\nStandard loading bar with infos such as size downloaded, speed, eta.\n\n![Loading bar option 2](screenshots/Option2.png)\n\n```python\nimport loading\ntotal_file_size = 1000\nlb = loadingbar.InfoLoadingBar(total_file_size)\n# Run as above\n```\n\n## Option 3\n\nThis special `InternetLoadingBar` smooth the speed calculation by taking the overall average time rather than a instant speed.\n\n```python\nimport loading\ntotal_file_size = 1000\nlb = loadingbar.InternetLoadingBar(total_file_size)\n# Run as above\n```\n\n## Option 4\n\nLoading bar that displays a message, like for example the filename that it is downloaded. Two options:\n* `loadingbar.MessageLoadingBar`\n* `loadingbar.VerboseLoadingBar`\n\n![Loading bar option 3](screenshots/Option3.png)\n\n```python\nimport loading\ntotal_file_size = 1000\nlb = loadingbar.VerboseLoadingBar(total_file_size)\n\n# For every piece of file\nfor chunk in file:\n  # Update the loading bar with the len of new data\n  lg.update(len(chunk), \"Message to be displayed, such as filename, etc.\")\n\n# When finished, display a 100% loading bar\nlg.done()\n```\n\n## Option 5\n\nAdd a percentage after the loading bar.\n\n* `loadingbar.PercentageLoadingBar(tot_size)`\n![Loading bar option 5-1](screenshots/Option5-0.png)\n\n* `loadingbar.PercentageInfoLoadingBar(tot_size)`\n![Loading bar option 5-2](screenshots/Option5-1.png)\n\n## Option 6\n\nAdd a percentage after the loading bar.\n\n* `loadingbar.PercentageBeforeLoadingBar(tot_size)`\n![Loading bar option 6-0](screenshots/Option6-0.png)\n\n* `loadingbar.PercentageBeforeLoadingBarAndInfo(tot_size)`\n![Loading bar option 6-1](screenshots/Option6-1.png)\n\nCustomization\n-------------\n\nIf a new and custom loading bar is needed, you can implement a new one by inheriting from the LoadingBar class or the abstract class ILoadingBar.\nSee loading \u003e loading_bar.py for examples.\n\nLicense\n-------\nMIT license.\nFeel free to use, share, or improve it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheeko74%2Floadingbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheeko74%2Floadingbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheeko74%2Floadingbar/lists"}