Tqdm easily adds a CLI progress bar to any enumerable.
A (partial) port of Python's tqdm to Elixir. Thanks noamraph and all other contributors for the original library!
Just wrap Lists, Maps, Streams, or anything else that implements Enumerable with Tqdm.tqdm
:
for _ <- Tqdm.tqdm(1..1000) do
:timer.sleep(10)
end
# or
1..1000
|> Tqdm.tqdm()
|> Enum.map(fn _ -> :timer.sleep(10) end)
# or even...
1..1000
|> Stream.map(fn _ -> :timer.sleep(10) end)
|> Tqdm.tqdm(total: 1000)
|> Stream.run()
# |###-------| 392/1000 39.0% [elapsed: 00:00:04.627479 left: 00:00:07, 84.71 iters/sec]
Full documentation can be found here.
- Add tqdm to your list of dependencies in
mix.exs
:
def deps do
[{:tqdm, "~> 0.0.2"}]
end
- Ensure tqdm is added to your list of applications:
def application do
[applications: [:tqdm]]
end