python-progressbar icon indicating copy to clipboard operation
python-progressbar copied to clipboard

Not an issue but an idea

Open kdschlosser opened this issue 2 years ago • 4 comments

Maybe you want to add to the progress bar to take it up a notch.

example of a busy spinner

https://youtu.be/Pd0pH53BDGE

example of bars

https://youtu.be/69Ahp4dK0eI

It's cross platform; Linux, Windows, OSX, Emscripten, etc... It will also render directly to the Linux frame buffer. And the size isn't too bad at 1.8MB compiled on Windows 11. Probably smaller on other OS's

Has support for bitmap, jpeg, png and gif. can add custom fonts or use the ones that are loaded into it already. There are quite a few fonts that come loaded into it and if it is compiled with only one the size shrinks down to 659k. Fonts can be loaded dynamically so they do not need to be compiled into it.

Wheels can be provided for Windows and OSX installations. For Linux it would have to be compiled at time of use. It takes about 8 seconds to compile on my computer running Windows 11, not a huge amount of time.

The output from a console can be redirected to it and it has support for LTR and RTL text as well as unicode characters provided the font being used supports the characters. True Type Fonts that are stored on the system can be used as well.

It's written in C99 and there is a Python Binding for it. The binding uses ctypes

kdschlosser avatar Aug 21 '23 05:08 kdschlosser

That does look pretty awesome if you ask me but I'm not sure how well it would integrate into this project to be honest.

It seems like something that would be amazing as part of a GUI library, or as a plugin for a GUI library.

I wouldn't mind linking to the library from the readme though :)

wolph avatar Aug 26 '23 21:08 wolph

it can be used without any GUI framework. That's the cool part of it so long as there is a frame buffer available it is able to render to it. So on a NIX type OS the rendering can be done right to the console and on Windows there is possibly a way to render directly to the console window. If not it can be made to look like it using a transparent frame or a shaped frame.

It runs using python which is pretty cool and if tied to your progress bar library it can be used on things like an MCU with a display.

These examples below are written using that GUI framework with a python Binding. The second example is running on an MCU using MicroPython while the other 2 are running in MicroPython that is encapsulated in JavaScript through a web page.

https://www.youtube.com/watch?v=NxQ7cLobr_Q

https://www.youtube.com/watch?v=Yiq3RKSpnZo

https://www.youtube.com/watch?v=Ko-yzwjXRX4

I know that your library is aimed at text based progress bars but I am pretty sure it can be adapted to use something like this library

kdschlosser avatar Aug 27 '23 06:08 kdschlosser

While I'm honestly not sure if people want this, it looks too amazing not to want to include it :)

I'm not entirely sure how to include it though... binaries significantly complicate the build process, but I'm happy to outsource the build process to Github Actions anyhow since it reduces variability a bit.

wolph avatar Sep 18 '23 01:09 wolph

Github bots being overly active again

wolph avatar Oct 26 '23 07:10 wolph