Parfive

Latest version: v2.1.0

Safety actively analyzes 683530 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

2.1.0

Enhancements

- Add a customizable callback function for when download completed dreamflasher (127)
- Add callbacks for ftp downloads samaloney (150)
- Drop Python 3.7 as it's EOL Cadair (149)
- Only log `get_ftp_size` errors at INFO Cadair (148)

Bug Fixes

- Fixes signal that only works in main thread of the main interpreter AthKouloumvakos (133)
- fix aiohttp redirect dreamflasher (126)

Misc/Internal Changes

- Add typing to utils dstansby (139)
- Fix test issue where warning was being raised but not captured samaloney (151)
- Add devdeps build with aiohttp dev dstansby (138)
- Fix actually running pytest in tox Cadair (136)
- Make sure tox-conda is installed Cadair (113)

2.0.2

Changes

- Vendor `parse_header` out of the deprecated cgi module for Python 3.11 compatibility Cadair (112)

Documentation and code quality

- Fix typos kianmeng (107)

2.0.1

Changes

Bug Fixes

- Fix a bug where an `asyncio.CancelledError` was not properly caught Cadair (106)

2.0.0

This new major version of parfive tackles the usability of the API.

The API of parfive grew organically as support for more use cases were added.
To enable both a highly flexible downloader that can be used for any HTTP/FTP downloads while maintaining an accessible and simple API with the 2.0 release there is now a `parfive.SessionConfig` object where advanced settings are located.

The other major change in this release is that any files where the download failed before it is completed will be removed from disk. This means that you shouldn't end up with incomplete and corrupt files on disk if the download is interrupted for any reason.

Breaking Changes

* The `file_progress`, `notebook`, `use_aiofiles`, and `header` keyword arguments to `parfive.Downloader` have been removed and moved into the `parfive.SessionConfig` object.
* The `timeouts` keyword argument has been removed from the `run_download()` and `download()` methods and replaced by an option in `SessionConfig`.

Enhancements
* Improve repr of Results, remove files from disk if download errors before completing and add max_splits as a keyword argument to Downloader by nabobalis in https://github.com/Cadair/parfive/pull/76
* Add a new `SessionConfig` object to allow advanced configuration of the `Downloader` by Cadair in https://github.com/Cadair/parfive/pull/92
* A new `PARFIVE_HIDE_PROGRESS` environment variable will disable all progress bars.
* All environment variables are now evaluated at the time the `Downloader` class is instantiated (by the new config classes).
* It is now possible to customise the instantiation of the `aiohttp.ClientSession` by passing a function to the `aiohttp_session_generator=` keyword argument to `SessionConfig`.
* It is now possible to configure debug or other levels of logging with `SessionConifg` where previously it could only be configured with an environment variable.
* It is now possible to configure the HTTP chunksize with `SessionConfig` and the default when not using aiofiles has been increased from 100 bytes to 1024 bytes.
* It is now possible to configure the HTTP(S) proxy URLs with `SessionConfig` as well as the `HTTP[S]_PROXY` environment variables.
* It is now possible to customise all the timeouts supported by aiohttp by passing an `aiohttp.ClientTimeout` object to `SessionConfig`.
* Improve the CLI with more options by Cadair in https://github.com/Cadair/parfive/pull/103
* Cleanup after Keyboard interrupt correctly by Cadair in https://github.com/Cadair/parfive/pull/104
* This means that the download will be killed correctly when the download is interrupted.
* Note that is does not work on Windows due to the lack of support for signal handling in `asyncio` on Windows.
* Remove deprecated loop keyword argument by Cadair in https://github.com/Cadair/parfive/pull/88
* Use tqdm's auto notebook detection by Cadair in https://github.com/Cadair/parfive/pull/90

Bug Fixes
* Do not split download if no "Content-length" by rlaker in https://github.com/Cadair/parfive/pull/87
* Do not overwrite custom headers if user agent isn't specified by Cadair in https://github.com/Cadair/parfive/pull/89
* Fix a bug where only HTTP 200 response codes were accepted as success by SolarDrew in https://github.com/Cadair/parfive/pull/95

Misc/Internal Changes
* Add a Python 3.10 build and configure pre-commit.ci by Cadair in https://github.com/Cadair/parfive/pull/83
* Improve docs for 2.0 release by Cadair in https://github.com/Cadair/parfive/pull/102
* Use black by Cadair in https://github.com/Cadair/parfive/pull/91

New Contributors
* rlaker made their first contribution in https://github.com/Cadair/parfive/pull/87
* SolarDrew made their first contribution in https://github.com/Cadair/parfive/pull/95

**Full Changelog**: https://github.com/Cadair/parfive/compare/v1.5.1...v2.0.0

2.0.0rc4

Changes

- Cleanup after Keyboard interrupt correctly Cadair (104)
- Improve the CLI with more options Cadair (103)
- Improve docs for 2.0 release Cadair (102)

2.0.0rc3

Changes

- Do not deprecate header kwarg to Downloader Cadair (101)

Enhancements

- Allow the user to override the `aiohttp.ClientSession` with a callback Cadair (99)

Misc/Internal Changes

- Do not use pydantic for settings validation Cadair (98)

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.