Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin tqdm to latest version 4.67.0 #75

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Nov 6, 2024

This PR pins tqdm to the latest release 4.67.0.

Changelog

4.67.0

- `contrib.discord`: replace `disco-py` with `requests` (1536)

4.66.6

- cli: zip-safe `--manpath`, `--comppath` (1627)
- misc framework updates (1627)
+ fix `pytest` `DeprecationWarning`
+ fix `snapcraft` build
+ fix `nbval` `DeprecationWarning`
+ update & tidy workflows
+ bump pre-commit
+ docs: update URLs

4.66.5

- support `ncols` auto-detection on FreeBSD (1602 <- https://github.com/casperdcl/git-fame/issues/98)
- fix Python 3.13 CLI (1594 <- 1585)
- fix Python 3.13 tests (1595 <- https://github.com/python/cpython/issues/117536#issuecomment-2036883124)
- misc framework updates (1602)
+ add official Python 3.12 support
+ bump deps (https://github.com/NiklasRosenstein/pydoc-markdown/issues/329, https://github.com/tikitu/jsmin/pull/44)

4.66.4

- `rich`: fix completion (1395 <- 1306)
- minor framework updates & code tidy (1578)

4.66.3

- `cli`: `eval` safety (fixes CVE-2024-34062, GHSA-g7vv-2v7x-gj9p)

4.66.2

- `pandas`: add `DataFrame.progress_map` (1549)
- `notebook`: fix HTML padding (1506)
- `keras`: fix resuming training when `verbose>=2` (1508)
- fix `format_num` negative fractions missing leading zero (1548)
- fix Python 3.12 `DeprecationWarning` on `import` (1519)
- linting: use f-strings (1549)
- update tests (1549)
+ fix `pandas` warnings
+ fix `asv` (https://github.com/airspeed-velocity/asv/issues/1323)
+ fix macos `notebook` docstring indentation
- CI: bump actions (1549)

4.66.1

- fix `utils.envwrap` types (1493 <- 1491, 1320 <- 966, 1319)
+ e.g. cloudwatch & kubernetes workaround: `export TQDM_POSITION=-1`
- drop mentions of unsupported Python versions

4.66.0

- environment variables to override defaults (`TQDM_*`) (1491 <- 1061, 950 <- 614, 1318, 619, 612, 370)
+ e.g. in CI jobs, `export TQDM_MININTERVAL=5` to avoid log spam
+ add tests & docs for `tqdm.utils.envwrap`
- fix & update CLI completion
- fix & update API docs
- minor code tidy: replace `os.path` => `pathlib.Path`
- fix docs image hosting
- release with CI bot account again (https://github.com/cli/cli/issues/6680)

4.65.2

- exclude `examples` from distributed wheel (1492)

4.65.1

- migrate `setup.{cfg,py}` => `pyproject.toml` (1490)
+ fix `asv` benchmarks
+ update docs
- fix snap build (1490)
- fix & update tests (1490)
+ fix flaky notebook tests
+ bump `pre-commit`
+ bump workflow actions

4.65.0

- add Python 3.11 and drop Python 3.6 support (1439, 1419, 502 <- 720, 620)
- misc code & docs tidy
- fix & update CI workflows & tests

4.64.1

- support `ipywidgets>=8`  (1366, 1361 <- 1310, 1359, 1360, 1364)
+ fix jupyter lab display
+ update notebook tests

4.64.0

- add `contrib.slack` (1313)

4.63.2

- `rich`: expose `options` kwargs (1282)
- `autonotebook`: re-enable VSCode (1309)
- misc docs typos (1301, 1299)
- update dev dependencies (1311)

4.63.1

- fix stderr/stdout missing `flush()` (1248 <- 1177)
- misc speed improvements/optimisations

4.63.0

- add `__reversed__()`
- add efficient `__contains__()`
- improve CLI startup time (replace `pkg_resources` => `importlib`)
- `tqdm.autonotebook` warning & `std` fallback on missing `ipywidgets` (1218 <- 1082, 1217)
- warn on positional CLI arguments
- misc build/test framework updates
+ enable `py3.10` tests
+ add `conda` dependencies
+ update pre-commit hooks
+ fix `pytest` config (`nbval`, `asyncio`)
+ fix dependencies & tests
+ fix site deployment

4.62.3

- fix minor typo (1246)
- minor example fix (1246)
- misc tidying & refactoring
- misc build/dev framework updates
+ update dependencies
+ update linters
+ update docs deployment branches
- misc test/ci updates
+ test forks
+ tidy OS & Python version tests
+ bump primary python version 3.7 => 3.8
+ beta py3.10 testing
+ fix py2.7 tests
+ better timeout handling

4.62.2

- fix notebook memory leak (1216)
- fix `contrib.concurrent` with generators (1233 <- 1231)

4.62.1

- `contrib.logging`: inherit existing handler output stream (1191)
- fix `PermissionError` by using `weakref` in `DisableOnWriteError` (1207)
- fix `contrib.telegram` creation rate limit handling (1223, 1221 <- 1220, 1076)
- tests: fix py27 `keras` dependencies (1222)
- misc tidy: use relative imports (1222)
- minor documentation updates (1222)

4.62.0

- `asyncio.gather` API consistency with stdlib (1212)
- fix shutdown exception (1209 <- 1198)
- misc build framework updates (1209)
- add [GH Sponsors](https://github.com/sponsors/tqdm/dashboard/tiers?frequency=one-time) & [merch](https://tqdm.github.io/merch) links

4.61.2

- install `colorama` on Windows (1139, 454)
- add telegram support for `leave=False` (1189)
- support `pandas==1.3.0` (1199)
- fix `keras` potential `AttributeError` (1184 <- 1183)
- fix py3.10 `asyncio` tests (1176)
- flush `stdout`/`err` before first render (1177)
- misc minor build & test framework updates (1180)

4.61.1

- fix `utils._screen_shape_linux()` sometimes raising `ValueError` (1174)
- minor build/CI framework updates (1175)
- minor documentation updates
- fix typo (1178)
- link to [merch](https://tqdm.github.io/merch)! :billed_cap: :shirt:

4.61.0

- `keras` support for `initial_epoch` (1150 <- 1138)
- misc documentation updates
+ update & shorten URLs (1163)
+ fix typos (1162)
- fix & update tests (1163)
- minor framework updates (1163)

4.60.0

- add `contrib.logging` helpers for redirecting to `tqdm.write()` (1155 <- 786)
- support `delay` in `notebook` (1142)
- fix `contrib.tmap`, `tzip` not using `tqdm_class` (1148)
- add `notebook` tests (1143)
- updates & misc minor fixes for documentation

4.59.0

- add `tqdm.dask.TqdmCallback` (1079, 279 <- 278)
- add `asyncio.gather()` (1136)
- add basic support for `length_hint` (1068)
- add & update tests
- misc documentation updates (1132)
+ update contributing guide
+ update URLs
+ bash completion: add missing `--delay`
- misc code tidy
- add `[notebook]` extra (1135)

4.58.0

- add start `delay` in seconds (836 <- 1069, 704)
- add tests
- misc code tidy (1130)
- misc documentation updates

4.57.0

- add line buffering for `DummyTqdmFile` (960)
- fix & update demo notebook (1127)
- fix py3 urllib examples (1127)
- suppress deprecated `pandas` warnings (824, 1094)
- misc framework updates
- misc tests updates
- misc code tidy

4.56.2

- fix attribute errors when disabled (1126)
+ `reset()` (1125)
+ `unpause()`
- add tests

4.56.1

- fix `repr()` & `format_dict` when disabled (1113 <- 624)
- rename `__repr__()` => `__str__()`
- minor documentation updates (1113)
+ fix Binder demo notebook (1119)
+ remove explicit Dockerfile
+ move some images to external repo
- add & update tests

4.56.0

- add `tqdm.tk` (1006)
- add `tqdm.rich`
- minor formatting improvements for `tqdm.gui`
- fix `display()` inheritance/override
- add tests
- add documentation

4.55.2

- update tests (1108)
+ make pre-commit `pytest` quicker
+ switch pre-commit from `make` to `python`
+ add and update (auto) formatters & CI (1108, 1093)
- update contributing guidelines (1108)
+ fix formatting
+ test dependencies (1109)
- update `.gitignore`
- fix (auto & manual) formatting
- fix minor detected bugs
- misc build/CI framework upgrades

4.55.1

- fix `(Rolling|Expanding).progress_apply()` on `pandas==1.2.0` (1106)
- minor documentation updates

4.55.0

- fix ASCII notebook export (937, 1035, 1098)
- fix notebook gui-mode extra spaces (433, 479, 550, 935)
- better ETA for early iterations (1101)
- better ETA for wildly varying iteration rates (1102)
- update submodule inheritance
+ `tqdm.gui`
+ `tqdm.notebook`
+ `tqdm.contrib.telegram`
+ `tqdm.contrib.discord`
- documentation updates
- misc code optimisations
- add tests
- framework updates
+ build
+ CI & test
- misc code linting/formatting

4.54.1

- drop `py3.4` (no longer tested) (1091)
- misc CI updates (1091)
+ update `snap` build & deploy method
+ bot releases

4.54.0

- get rid of `get_new` (1085 <- 1084, 509)
- minor CI framework optimisations

4.53.0

- provide `get_new()` helper for mixed subclasses in nested mode (509)
- fix nested `asyncio` (1074)
+ document async `break` hazard
- add tests
- drop py2.6/3.2/3.3 and distutils (no longer tested)
+ drop py2.6 (502 <- 620, 127)
+ drop `distutils` in favour of `setuptools`/`setup.cfg` (723, 721)
- CI framework overhaul
+ drop appveyor (Windows already tested by GHA)
+ skip `devel` PRs
+ automate linting comments on failure
- use `setuptools_scm` (722)
+ fix & update tests
+ fix & upgrade snap build
+ update CONTRIBUTING docs

4.52.0

- allow delaying `display()` to a different notebook cell (1059 <- 909, 954)
+ add `notebook` argument `display=True` (use `display=False` with `display(tqdm_object.container)`)
+ add `keras.TqdmCallback` support for initialiser arguments (use `display=False` with `tqdm_callback_object.display()`) (1059 <- 1065)
+ add documentation
- add CI on windows (507)
- enable CI on OSX
- migrate CI Travis => GHA
+ add tests for MacOS & Windows
+ add tests for py3.9 (1073)
+ update documentation
- minify docker build
- update tests
- misc tidy

4.51.0

- add `{eta}` datetime `bar_format` argument (1055 <- 1051)
+ e.g. `bar_format='{l_bar}{bar}| {n_fmt}/{total_fmt} [{rate_fmt} ETA:{eta:%y-%m-%d %H:%M}{postfix}]'`
- fix py3 CLI `--update` & `--update_to`
- replace `nosetests` with `pytest` (1052, 1045)
- add & update tests

4.50.2

- fixed `platform.system()` causing `fork()` warnings (691)
- fixed `contrib.concurrent.process_map` pickling error with `threading.RLock` (920)
- updated documentation & examples
- updated CI framework
- updated tests
- misc code tidy

4.50.1

- fix multiprocessing lock creation leak (982, 936, 759)
+ fixes 617 which introduced this bug (v4.29.0, released 2019-01-06, undiagnosed until now) where multiple threads could concurrently create and append process locks to a global list, then try to release them without first acquiring :imp:
- major test overhaul: fix, update, and speed up
- misc CI framework updates
- code linting
- minor documentation tidy

4.50.0

- add bar `colour` option (1040 <- 450)
+ for `notebook` as well as `std`/CLI
+ plain text as well as hex (e.g. 'green' or '00ff00')
- `notebook` improvements (1032 <- 1031)
+ split bar description into separate widget
+ improve `reset()` (handle width and colour)
- fix exceptions when `file` is closed (1041, 1036 <- 1033)
- add & update tests
- minor documentation updates
- move and configure issue/pr templates

4.49.0

- CLI: add `--tee` (1014 <- 1013)
- CLI: add `--update` and `--update_to` (996 <- 975)
- CLI: add `--null` (996)
- CLI: accept `-` instead of `_` in options (e.g. `--update-to`)
- make `update()` return `True` on `display` to ease efficient use of custom callbacks (845)
- fix `py>=3` CLI `--delim` encoding error
- fix `py>=3.5` version detection in `tqdm.auto` (1029 <- 1028)
- fix final ETA when using `initial` (1021 <- 689)
- update documentation
+ add & update custom callback examples
+ improve help formatting of boolean CLI options
- add & update tests

4.48.2

- fix `notebook` formatting

4.48.1

- fix ANSI escape codes breaking `tqdm.write` (692, 777)
- fix long-lived strongref (1007, https://bugs.python.org/issue39093)
- fix cli `--version` crash on missing `git/refs/heads` (635)
- fix `contrib.tenumerate` ignoring `total` (1017)
- fix potential deep => shallow `kwargs` copy issues
- improve `notebook` display for unknown `total` (1015)
- make `asyncio` inherit from `std` rather than `auto`
- make `auto` multi-inherit from `autonotebook`, `asyncio` on Python3.5+
- misc documentation & examples updates
+ mention `docker-compose` requirements (771)
- misc linting & tidy
- misc minor testing framework updates

4.48.0

- add `tqdm.asyncio` (1004, 772, 91 <- 65)
+ supports async iterables (`async for row in tqdm(iterable)`)
+ supports iterables
+ supports `coroutine.send` (`tqdm(coroutine).send`)
+ add `as_completed` wrapper (`for f in tqdm.as_completed(fs)`)
- reduce `contrib.discord` logging verbosity
- fix potential `pandas()` modifying `**kwargs` bug
- update documentation
+ add missing inline docstrings
+ update contributing notes
+ update readme
+ add to `examples/` folder
 * async_coroutines
 * coroutine_pipe
+ standardise variable naming
- add tests
+ add benchmark tests against popular alternative libraries
+ test new functionality
+ more thorough `miniters` test (1003)
- misc framework updates
+ tidy changelog helper
+ add helper bots
 * comment-bot `/tag`
 * post-release-bot
   - wiki updater
   - website updater
 * benchmark regressions
   - full/thorough test on schedule & release
   - quick test on PR

4.47.0

- add `contrib.discord` (similar to `contrib.telegram`) (976)
- add `contrib.bells` to auto-enable all extras
- add `contrib.utils_worker` for common slow tasks (e.g. web I/O)
+ fix lazy large memory usage & discard unsent messages (unprocessed tasks)
- fix slow notebook imports (955 <- 709)
- fix `gui` `TypeError` on unknown `len()` (971)
- misc documentation/error message updates
+ more succinct ImportError on missing `ipywidgets` (872)
+ fix broken/deprecated link (981)
+ add inline usage for `contrib.discord` and `contrib.telegram`
- misc framework updates
+ add official `py3.8` support (986)
+ fix `snap` builds

![contrib.discord](https://img.tqdm.ml/screenshot-discord.png)

![contrib.telegram](https://img.tqdm.ml/screenshot-telegram.gif)

4.46.1

- fix missing `sys.setcheckinterval` in py3.9 (978)
- fix `keras.TqdmCallback` compatibility with `tensorflow==2.2.0` (979)
- update documentation
+ correct `contrib.concurrent` correct `max_workers` (977)
+ drop prominent mention of `xrange` (965)
- minor linting

4.46.0

- add `contrib.telegram` 949 <- 948
- add `bash` tab completion and `--comppath` 946, 947 <- 858
- fix exception safety in `external_write_mode` 940
- add `requests` examples (242)
- update documentation

4.45.0

- propagate and `close()` on exceptions (926 <- 548)
- fix nested `clear()`
- rework nested `close()` (930 <- 924 <- 918, 677)
+ reduces screen flicker/blank space at the cost of ordering
- update all documentation & demos
- add and update tests
- dev framework: add pre-commit helper

4.44.1

- fix `_utils` `ImportError` => `DeprecationWarning` (928 <- 927)

4.44.0

- add automatic `nrows` and expose for manual override (918 -> 924)
- expose and warn about small `chunksize` in `tqdm.contrib.concurrent.process_map` (912)
- fix py2 file stream comparison (727 -> 730)
- deprecate `utils._environ_cols_wrapper`
- add and update tests
- add documentation

4.43.0

- fix `notebook` exceptions (669 <- 650)
+ `set_description()` when `disable=True`
- `contrib.concurrent`: avoid unnecessary `len(iterable)` (893)
- update documentation
+ clarify etymology (895)
+ fix minor typo (890)
+ update contributors and years
- update tests
- fix CI tests for PRs

4.42.1

- support `pandas==1.0.0` (780, 555)
- minor metadata updates
- minor CI test update

4.42.0

- `notebook`: update `disable=None` behaviour (880)
- `tqdm.keras`: support `tensorflow.keras` as well as `keras` (885)
- add `contrib` (882)
+ `tenumerate` (840 <- 480, 402)
+ `tzip` <= `zip`
+ `tmap` <= `map`
+ add `concurrent` module
 * `thread_map` <= `concurrent.futures.ThreadPoolExecutor.map`
 * `process_map` <= `concurrent.futures.ProcessPoolExecutor.map`
+ add `itertools` module (225) stub
 * `product`
- add & update tests
- add & update documentation
+ [README](https://github.com/tqdm/tqdm#tqdm)
+ [examples/](https://github.com/tqdm/tqdm/tree/master/examples)
- update CI framework

4.41.1

- `keras` module tidy and fixes
+ fix `batch_size=None` (869)
+ add missing `pop('size')`

4.41.0

- trim on `ncols` overflow with ANSI handling (850, 716 <- 690)
- add `notebook.reset()` (864)
- add `keras.TqdmCallback` (867 <- 835)
- documentation updates
+ document newly added features (above)
+ notebook `ncols` percentage/pixels (276)
- test updates
+ test newly added features (above)
+ add CI for `win` and `osx` (841)
+ `py2` threading

4.40.2

- fix `pandas` unhashable func (862 -> 863)
+ add tests

4.40.1

- fix floating point imprecision raising errors (859)
- fix auto gh releases ([travis-ci/dpl914](https://github.com/travis-ci/dpl/issues/914))
- update CONTRIBUTING ([84 (comment)](https://github.com/tqdm/tqdm/issues/84#issuecomment-167516992))

4.40.0

- officially support `float` for `n` and `total` (802)
+ `notebook`: use `FloatProgress` <= `IntProgress` (471, 456)
+ allow imprecision (`n <= total + epsilon`) (849)
- fix unicode bar format arguments (803 -> 851)
- add `contrib` submodule (815)
- add `wrapattr`, `utils.CallbackIOWrapper`, `contrib.DummyTqdmFile` (84 -> 844)
- update tests
- update documentation
- tidy automatic `snap` deployments
- minor doc update (854)

4.39.0

- add `pandas` builtin operations check (843 <- 697)
- avoid unnecessary `dedent` (837)
- remove unneeded bar logic
- misc code tidy
- update documentation
+ document default argument overriding (370)
+ add missing `isatty()` (713)
+ update badges
+ add code of conduct
- update framework
+ clean CI stages
+ update CI default `py3.6` => `py3.7`
+ automate snap releases (686 <- 685)

4.38.0

- support `lock_args` for e.g. non-blocking intermediate writes (838 -> 839)
+ use `self.refresh()` in more places
+ add and update performance tests
+ support args for `TqdmDefaultWriteLock.acquire()`
- fix colorama on win (678, 764)
- framework updates
+ CI cleanup
 * move to stages (check/test/deploy)
 * auto deploy notes
 * deploy only on parent repo
 * separate docker deploy
+ update documentation sync/generation
- update examples
- update documentation
- add and update tests
- misc tidy and linting

4.37.0

- potential future pandas fix (824)
- better unicode widechar support (803 -> 410, 805)
- fix example/tqdm_wget unknown total (826)
- add `stacklevel=2` to warnings (821)
- misc framework updates
+ snapcraft version fix
+ update issue/pr templates (830)
+ update unit tests
- misc documentation updates
+ update parallel (multiprocessing, ThreadPoolExecutor) example (407)
+ add slides, video images
+ add CII Best Practices badge
+ add repology badge
+ update badge icons

4.36.1

- fix CLI entrypoint

4.36.0

- expose more custom format params
- potential thread safety fix (548)
- update submodule architecture (198 -> 800)
+ backward-compatibility
+ expose `utils`
+ rename `main` -> `cli`
+ add/fix tests
+ fix minor cached var optimisation
+ `gui` partial upgrade (790)
+ `notebook` upgrade (790)
 * support `{bar}` in `bar_format` (594)
 * inherit methods including `set_*(refresh)` (740 -> 741)
+ ready for `contrib` releases (252)
- support custom `bar_format` with unknown `total`
- fix `tqdm_notebook` red block on explicit `file=None` (791)
- update notebook to fully support custom `bar_format` (594, 649)
- misc tidy
+ warnings
+ linting
+ update submodule contribution guide (252)
+ parallel `(py)make test`
+ fix Zenodo metadata
- update documentation
+ `pandas`, `notebook`, `gui` (245)
+ indentation
+ update multiprocessing and multithreading examples (796)

4.35.0

- add `{bar}` format specifier (623 -> 799)
+ `[width][type]`
- add tests and documentation
- update performance tests

4.34.0

- add `leave=None` convenience option for `leave = position == 0`
- ensure nested completed bars respect `leave=True` (230)
- ensure nested bars are cleared before being moved up (795)
- support both ` ` and `=` syntax for CLI options (761 -> 774)
- misc documentation updates (778, 782)
- fix/update tests
- update GitHub docker package deployment

4.33.0

- fix `pandas==0.25` API change (780)
- add contributor badges (`sourcerer`)
- fix py26 travis CI
- metadata fixes
+ `.zenodo.json`
+ `CODEOWNERS`
- GitHub package registry docker deployment
- minor linting
- documentation updates (773)

4.32.2

- fix 'Set changed size during iteration' (481 -> 700, 754)
- add `tqdm.autonotebook` check for `$VSCODE_PID` (747 -> 751)
- fix missing `multiprocessing` in Jython (698)
- make `bool(tqdm(iter))` consistent with `bool(iter)` (353 -> 694)
- add and update unit tests
- add and update documentation & framework
+ update notable contributors list
+ update usage docstrings (714, 715)
+ add funding
+ add `awesome-python` badge
+ trove classifier update
+ update demo notebook badges
+ add JOSS DOI
+ add Zenodo metadata
+ move unnecessary root clutter

4.32.1

- fix `notebook` with unknown `total` (743)

4.32.0

- support `unit_scale` in `notebook`
- support negative update (432, 545)
- add `reset()` function (547, 545)
- add `[python setup.py] make run`
- add and update documentation
- example of dynamic usage (735, 545, 547, 432, 374)
- note writing issues (737)
- update badges
- add [PyData2019 slides link](https://tqdm.github.io/PyData2019/slides.html)
- add [JOSS paper](https://github.com/openjournals/joss-papers/blob/joss.01277/joss.01277/10.21105.joss.01277.pdf)
- update manpages
- add docker install
- add snapcraft install
- notebooks: add binder, rename RMOTR => notebooks.ai (679)
- prettify and unify contributors/maintainers/authors
- CI and release framework updates
- add snapcraft snaps (647)
- add travis auto-deployment (685)
 + PyPI releases
 + docker devel/releases
- update deployment dev docs
- fix travis deploy pymake
- update .gitinore
- add & update unit tests
- automate more documentation

4.31.1

- fix `file.encoding==None` caused by 598 (673 -> 676)
+ add tests
- tidy code, update authors and tests
+ add `setup.py` test to CI

4.31.0

- Write bytes to `stdout`/`stderr` in py2 (https://bugs.python.org/issue21363, #589 -> 598)
- Add `write_bytes` parameter for py2/3 default override
- support custom bar characters vias `ascii` parameter (223 -> 227)
- implement, document and test custom bar spinners
- support custom `bar_format` with unknown `total` (282 -> 284)
- fix `TypeError` when `unit_scale` and unknown `total`
- document `format_dict`
- expose `elapsed_s`, `remaining_s` to `bar_format`
- add `unit` option to `bar_format` (368)
- auto `README.rst` generation framework
- add notes in `CONTRIBUTING.md`
- update tests
- update documentation
- misc code tidy

4.30.0

- avoid moving when `leave=False`
- generalise nested bar tests
- add `display()` helper function
- add and expose `format_dict` (562, 482, 494, 656)
  + allow arbitrary keyword arguments for `format_meter`
  + document `format_dict` overriding
  + add tests for overriding
  + related: 660 172 587
- add and tidy developer documentation
- fix py3 CLI pipe decoding error (663)
- framework overhaul (developing, testing, Travis CI updates)
- tidy code and style (flake8)
- `setup.py` refactor
 + `setup.py make`
     * add support for multi-line commands
     * tidy and efficiency
 + replace `setup.py`'s built-in `make` -> `py-make>=0.1.9` (290)
 + add `requirements-dev.txt` and `extras_require[dev]`
- add, update and tidy tests
- include interactive Jupyter demonstration (652 -> 659)
- update documentation
 + add FAQ about py2 pipes (359)
 + add badges
 + update examples
 + update authors

4.29.1

- fix `classmethod` lock bug (617: 457 -> 658)
- add unit test to prevent regression

4.29.0

- Avoid global multiprocessing locks (611 -> 617)
- Add support for infinite iterables (651)
- Fix missing attr pos when used in multi-threaded environment (573)
- Do not join `TMonitor` if it is the current thread (613 -> 641)
- Add OpenBSD NIX support (638)
- Unit tests, general documentation fixes and tidying (e.g. 642)
- CI travis improvements
+ `py37-dev` -> `py37` (622)
+ fix `py26`

4.28.1

- fix `--manpath` file not found
- expose `main():argv`
- add unit tests
- release framework tidy
+ update .`gitattributes`
+ remove deprecated `make`/`dist` options

4.28.0

- remove installation of man pages by default (460, 628)
- CLI:add `--manpath` option (629)
- documentation additions and fixes

4.27.0

- fix `str.isnumeric` 605
- fix `WeakSet` `KeyError` 548, 553, 596 -> 607
- stop `tqdm_notebook` description truncation 582 -> 599
- include `unit_scale` for `rate` 608
- add `auto` -> nowarning `autonotebook`
- add better postfix numeric formatting 621
- minor refactoring 609 -> 616
- update documentation
- add unit tests
- fix py26 CI

4.26.0

- fix `smoothing` (566 -> 601)
- `pandas` updates
 + address the `FutureWarning` in `pandas`, drop `pandas` test in py34, add in py37 (603)
 + support `pandas` `axis='index' or 'columns'` (570)
- minor documentation updates (597, 600, 606)
 + developer notes

4.25.0

- stop monitor on shutdown (571, 572)
- fix `find_packages()` for submodules (593)
 + properly add `autonotebook` (586, 1cf3393)
- ignore ANSI escape codes in the bar length calculation (450, 591 -> 592)
- update documentation (243)

4.24.0

- `autonotebook` submodule for automatic selection of notebook/CLI bar (443, 508)
 + update/add `pandas()` example documentation (474)
- `NameError:IntProgress` changed to a more helpful `ImportError` (187, 451, 558)
- support `bool()` cast when `disable=True` (574)
- fix `format_sizeof` hundreds rounding (579 -> 581)
- ensure URLs in documentation are secure (`https`)

4.23.4

- Support pandas 0.23.0 `core.groupby` module layout (555 -> 554)
- Add python_requires to help pip (557)
- minor maintenance updates
+ CI updates: drop travis py33 due to `tox` (tox-dev/tox648)
+ minor code tidy

4.23.3

- suppress 10 second warning (refix 323)

4.23.2

- minor import syntax fix 496
- re-fix nested overlaps 477
- update documentation and examples
- code tidy and abstraction

4.23.1

- fix `AttributeError`s (546)
 + `pos`  on initialisation (323, 510 -> 544)
 + `fp` on `write()` (383)
- fix py34 CI
- update documentation

4.23.0

- Fix `disable=True` where`iterable` has no `len()` and is not `None`  (539)
- Add `ncols` to specify `tqdm_notebook` bar width (276 -> 292)
- allow custom `pandas` `total` (364 -> 535)
- Add `progress_apply` for `pandas.(Series|DataFrame).(rolling|expanding)` (530 -> 537)
- unit tests, pep8 tidy
- `postfix` non-`dict` documentation note

4.22.0

- allow direct non-string assignment to `postfix` member (lists, dicts, etc) (382 -> 534)
- documentation updates
- unit tests

4.21.0

- fix 532 `write()` with manual `position`
+ more robust free position finding
- add `TqdmWarning` base class
- fix GUI `__del__()`
+ add `TqdmExperimentalWarning`
- add, tidy & fix unit tests
- documentation
+ wiki release notes
+ update contributors
+ fix `7zx` example

4.20.0

- `pandas` wrapper: remove `*args` and add better `total` handling (244, 299, 322, 366 -> 524)
- document windows unicode know issues (454)
- suppress `RuntimeError: Set changed size during iteration` -> `TqdmSynchronisationWarning` (481)

4.19.9

- fix monitor thread termination and update tests (527)

4.19.8

- fix monitoring thread issues
+ avoid uninitialised instance manipulation (493)
+ fix thread starting `RuntimeError` (522 -> 523)
- these release notes (529)

4.19.6

- CLI improvements
 + `--bytes` implies `--unit B --unit_scale --unit_divisor 1024` (503)
 + allow hyphens in CLI arguments (511)
- synchronisation: fix for `sem_open` on `aarch64` (513)
- framework update
 + CI/tests, year 2018, py37, badges, documentation

4.19.5

- multiprocess/lock fixes (457)
- `set_description` in notebook (345 -> 475)
- minor tidy (476)
- documentation updates

4.19.4

- fix `Lock:NotImplementedError` on certain systems (466 -> 468)
- use recursive locks (469 -> 468)
 - fix deadlocks
- tidy (448)
- `flush()` on `moveto()` (398 -> 399, 420, 467)
- update tests and benchmarks

4.19.2

- `flush()` on `refresh()` (459 from 317)
- status printer updates (331)
 + use `sp()` in `refresh()`
 + remove redundant `clear():nomove=False`
- misc minor documentation updates
- unit tests

4.19.1

- `rate_(no)inv(_fmt)` (72, b228bc3)
- `__repr__()` tidy (389)
- fix `write()` before initialisation `AttributeError: _lock` (457)
- `man` pages
- documentation updates

4.18.0

- Thread safety! (285 -> 291 -> 329, 407, 417)
- Ease redirection of `sys.stdout`/`stderr` (422)
- Minor internal stream bugfix (439)
- `AttributeError` fixes (323, 324, 418)

Related to:

- Misc bugs (334)
- `concurrent.futures` (97)
- Multi-`tqdm` (143)
- `flush()` and `refresh()` (331)
- Newline on `refresh()` (361)
- Nested trees (384)
- Manually positioned nested bars clearing (385)

4.17.1

- initialise `n` even when disabled (438)
- better unicode detection (437)
- `__repr__()` bugfix (441)

4.17.0

- easier redirect of `stdout` (426 -> 431)
 - `cls.external_write_mode() contextmanager`
- `refresh=True` for `set_description`/`update`(`_str`) (317 -> 377)

4.16.0

- more formatting control (347 -> 362)
 - `set_postfix_str()`, `set_description_str()`
 - move `": "` to `bar_format`
 - complements 266, 270
- better CLI support (e.g. hyphenated paths) (421 423 -> 424)
- more unit tests (411)
 - upgrade to pypy2/3-5.8.0
 - add py37-dev
- doc updates

4.15.0

- minor fixes (395)
- minor documentation updates (400, 401, 412)
- better `pandas` support (351 -> 409)
- Jupyter notebook fix (352, 369 -> 373, 405)
- optimise `setcheckinterval`/`setswitchinterval` (376)
- add `unit_scale` (273, 295 -> 378)

4.14.0

- add `unit_divisor` 354 -> 356 
- update examples

4.13.0

- support unknown systems https://github.com/warner/magic-wormhole/issues/158, #76, 344 -> 390
- support nested/multi-bars better 384, 285, 329 -> 385
- ease redirection of output (default: `sys.stderr` -> `None`) https://github.com/xonsh/xonsh/issues/2058, #329, 275 -> 293
 + add [examples/redirect_print.py](https://github.com/tqdm/tqdm/blob/master/examples/redirect_print.py)
- minor documentation updates

4.12.0

- fix monitor race condition 338 -> 339
- add explicit NetBSD support 344
- documentation tidy

4.11.2

- thread safety 332
- address `DeprecationWarning` 319 -> 326
- version extra 328 -> 330
- security fix ([CVE-2016-10075](https://nvd.nist.gov/vuln/detail/CVE-2016-10075))
- add non-master branch name
- minor safety
- minor documentation and comments

4.11.1

Officially support Python 3.6, addressing 333

4.11.0

- `postfix` argument added 266->270 
- fix tests for
- `numpy` 272->302
- `PyPy3` 318->325
- `7z` extraction example script
- new logo 315 
- hit counter with logo colours and stats
- documentation updates
- safer `setup.py` `Makefile` emulation
- better github contributions integrations and Code of Conduct 310

4.10.0

- fix maxinterval to adjust miniters to mininterval 249
- minor bugfixes (eg 288)
- misc optimisations, unit tests, and benchmarks (eg 298)
- documentation updates

4.9.0

- monitoring thread to automatically to adjust `miniters` and avoid exceeding `maxinterval`
- test race conditions
- kill on KeyboardInterrupt + instant refresh
- low performance overhead, option to disable
- new CLI argument: `--bytes` to count chars
- disable automatically on non-TTY (281)
- fixed `refresh()` and `clear()` if disabled (286)
- misc fixes
- documentation
- unit tests
- optimisations, style fixes
- codacy badge
- safety and warning suppression
- ignore coverall failures (283)
- fix broken link in README (262)
- Fix `time()` in `refresh()` + avoid `write()` races (264)
- Fix `__repr__()` 269
- Fix `update(0)` causing `ZeroDivisionError` (on first call) 268
- Faster simple bar for perf test (257)
- cleaner `tqdm_notebook` exit when not run in a notebook (267)
- Disable coveralls because of duplicate comments on github (263)
- Migrate codecov config -> codecov.yml

4.8.4

- 14% overhead reduction
- fix exception when closing `tqdm_notebook` without a `total`
- support more pandas modules
- pandas.Series.progress_map
- pandas.DataFrame.progress_applymap
- Panel.progress_apply
- PanelGroupBy.progress_apply
- GroupBy.progress_aggregate
- GroupBy.progress_transform
- faster CI builds
- misc documentation update and link to wiki

4.8.1

- custom tqdm warning/exceptions
- tests now multiprocessed and include pandas

4.8.0

- `tqdm.pandas` classmethod replaces `tqdm_pandas` function (deprecated)
- `ipython` aliased imports fixes
- `write` without any instances
- readme update
- examples update
- test fixes and updates

4.7.6

- support for pandas series
- support for numpy arrays
- tidy & coverage

4.7.4

- `pandas.DataFrame.apply` support
- `tqdm_notebook.write()`
- `tqdm_gui.write()`
- misc notebook fixes
- delay notebook imports (>80% reduction in import time when unused)
- optional `colorama` only on windows
- documentation tidy
- more & faster tests

4.7.0

- CLI custom delimiter support
- More robust CLI argument parsing
- either one or two `-` preceding kwargs (eg `-ascii` or `--ascii`)
- no positional args (so no need to quote multi-word `-desc` for example)
- `bool` kwargs with implicit value=`True` still supported
- optional `=` sign after kwargs
- tests
- doc updates, badges
- pyversions, doi, licence, github

4.6.2

- Fix warnings due to IPython/Jupyter widget

4.6.1

- add IPython/Jupyter support
- fix `{bar}` length breaking display when using custom `bar_format`
- add a no inversion rate formatting for `bar_format` (i.e., always show `it/s` and never `s/it`)

4.5.0

- print messages within (nested) loops using `tqdm.write(...)`

4.4.3

- remove `docopt` dependency for CLI
- re-added `update(0)` ability to trigger refresh
- minor fixes
- re-added (OSI approved) licence to source
- dev versioning auto-fallback
- slight speed optimisation
- tests
- documentation

4.4.1

- Module execution in CLI pipes!
- `tqdm` executable
- documentation
- tests
- MSYS aded to supported envs
- better VTE support
- dev versioning
- tests

4.2.0

- MPL licence!
- slightly updated logo
- update examples
- `update(0)` allowed
- better VTE support
- ascii fallback when unicode not available

4.0.0

- automate `nested`
- deprecate `nested`
- add manual override control with `position`
- documentation and example updates, coverage and tests
- make `leave==True` by default (was `False`)

3.8.0

- update(n<1) raises error
- sanitise and update examples and README
- fix setup.py encoding error
- remove py32 from Travis
- changelog more accessible from README

3.7.1

- Added more OS support (FreeBSD, Solaris/SunOS)
- Added Python3.5 support and tests
- Added IronPython2.7 support
- Fix Makefile management for Python3
- Added relative timing for tests
- More stable smoothed ETA
- Refactoring _everything_ into one big `tqdm` class for even more subclassing fun

3.6.0

Added support for "restarting" a progressbar after a long pause without making the iteration rate go haywire. Simply call the `unpause()` method on the `tqdm` instance that is about to be restarted. Can also start `tqdm` skipping a number of steps specified by `initial` (without bias-ing ETA).

3.5.0

- Fully customisable output format using the `bar_format` keyword argument.
- Valid strings: bar, n, n_fmt, total, total_fmt, percentage, rate, rate_fmt, elapsed, remaining, l_bar, r_bar, desc
- Example: `bar_format='{desc}{bar}{rate:03.3d}'`
- Default: '{l_bar}{bar}{r_bar}', where l_bar is '{desc}{percentage:3.0f}%|' and r_bar is '| {n_fmt}/{total_fmt} [{elapsed_str}<{remaining_str}, {rate_fmt}]'.
- Solaris, FreeBSD support mentioned
- Link redirects circumvented

3.3.0

- Support added for pandas `apply` => `progress_apply`
- 80-char width when running interactive `help()`
- update examples using `with` syntax

3.1.4

Added `smoothing` and `maxinterval` features for smooth progress bar and rate for unconstant, variable changes in update times, and abstracted gui to its own class and file.

Also added a performance test to prevent performance regressions.

2.2.4

Added the dynamic management of the bar on window resize, plus a better internal testing/build workflow using `python setup.py make [alias]`.

2.0.0

First public release of the next generation of tqdm, with lots of new features, more speed, more unit testing, more coverage (100% yeah!), more beer and coffee.

This release can also be downloaded on [PyPi here](https://pypi.python.org/pypi/tqdm/2.0.0).
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant