differences from `tqdm.contrib.concurrent`
Closed this issue · 1 comments
Hi, just wondering what the differences are between this and the (official) tqdm.contrib.concurrent
module's thread_map
and process_map
. If there's something added here, would be happy to accept a PR to include it in the main repo...
I actually wrote this library because something wasn't working with tqdm.contrib.concurrent for me back in the day, not sure what anymore now.
I think the main diffs are that the executors are fairly exchangable, instead of being limited to using predefined ones (i.e. someone writes some custom executor - it is easy to plug in), the task submission step to the executor queue is explicit - as it can take some time in most applications, with pqdm you can see how much it will take. But apart from that the solutions are quite similar, actually I'm planning to add some of the things you implemented, especially getting rid of my jupyter detection code and use tqdm.auto, but also supporting chunking and tqdm_class.
Lot's of kudos for your work!
I am not sure the differences are worth creating a PR - tqdm's most common usecases will be related to the two standard python executors and most users will expect tqdm to yield one progress bar instead of three - there's even an issue for pqdm to hide them :D - I just enjoy knowing how much every step will take.