Upgrading to v2
This page summarizes the breaking changes between Apify Python API Client v1.x and v2.0.
Python version support
Support for Python 3.9 has been dropped. The Apify Python API Client v2.x now requires Python 3.10 or later. Make sure your environment is running a compatible version before upgrading.
New underlying HTTP library
In v2.0, the Apify Python API client switched from using httpx
to impit
as the underlying HTTP library. However, this change shouldn't have much impact on the end user.
API method changes
Several public methods have changed their signatures or behavior.
Removed parameters and attributes
- The
parse_response
parameter has been removed from theHTTPClient.call()
method. This was an internal parameter that added a private attribute to theResponse
object. - The private
_maybe_parsed_body
attribute has been removed from theResponse
object.
KeyValueStoreClient
- The deprecated parameters
as_bytes
andas_file
have been removed fromKeyValueStoreClient.get_record()
. Use the dedicated methodsget_record_as_bytes()
andstream_record()
instead.
DatasetClient
- The
unwind
parameter no longer accepts a single string value. Use a list of strings instead:unwind=['items']
rather thanunwind='items'
.
Module reorganization
Some modules have been restructured.
Constants
- Deprecated constant re-exports from
consts.py
have been removed. Constants should now be imported from the apify-shared-python package if needed.
Errors
- Error classes are now accessible from the public
apify_client.errors
module. See the API documentation for a complete list of available error classes.