apify 3.4.2b1__tar.gz → 3.4.2b3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. {apify-3.4.2b1 → apify-3.4.2b3}/CHANGELOG.md +14 -0
  2. {apify-3.4.2b1 → apify-3.4.2b3}/PKG-INFO +1 -1
  3. {apify-3.4.2b1 → apify-3.4.2b3}/pyproject.toml +2 -2
  4. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/_actor.py +16 -33
  5. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/_charging.py +3 -3
  6. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/_configuration.py +1 -26
  7. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_dataset_client.py +0 -11
  8. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_key_value_store_client.py +0 -11
  9. {apify-3.4.2b1 → apify-3.4.2b3}/.gitignore +0 -0
  10. {apify-3.4.2b1 → apify-3.4.2b3}/CONTRIBUTING.md +0 -0
  11. {apify-3.4.2b1 → apify-3.4.2b3}/LICENSE +0 -0
  12. {apify-3.4.2b1 → apify-3.4.2b3}/README.md +0 -0
  13. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/__init__.py +0 -0
  14. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/_consts.py +0 -0
  15. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/_crypto.py +0 -0
  16. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/_models.py +0 -0
  17. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/_proxy_configuration.py +0 -0
  18. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/_utils.py +0 -0
  19. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/events/__init__.py +0 -0
  20. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/events/_apify_event_manager.py +0 -0
  21. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/events/_types.py +0 -0
  22. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/events/py.typed +0 -0
  23. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/log.py +0 -0
  24. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/py.typed +0 -0
  25. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/request_loaders/__init__.py +0 -0
  26. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/request_loaders/_apify_request_list.py +0 -0
  27. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/request_loaders/py.typed +0 -0
  28. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/__init__.py +0 -0
  29. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/_actor_runner.py +0 -0
  30. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/_async_thread.py +0 -0
  31. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/_logging_config.py +0 -0
  32. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/extensions/__init__.py +0 -0
  33. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/extensions/_httpcache.py +0 -0
  34. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/middlewares/__init__.py +0 -0
  35. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/middlewares/apify_proxy.py +0 -0
  36. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/middlewares/py.typed +0 -0
  37. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/pipelines/__init__.py +0 -0
  38. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/pipelines/actor_dataset_push.py +0 -0
  39. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/pipelines/py.typed +0 -0
  40. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/py.typed +0 -0
  41. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/requests.py +0 -0
  42. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/scheduler.py +0 -0
  43. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/scrapy/utils.py +0 -0
  44. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/__init__.py +0 -0
  45. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/__init__.py +0 -0
  46. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_alias_resolving.py +0 -0
  47. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_api_client_creation.py +0 -0
  48. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_models.py +0 -0
  49. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_request_queue_client.py +0 -0
  50. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_request_queue_shared_client.py +0 -0
  51. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_request_queue_single_client.py +0 -0
  52. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_storage_client.py +0 -0
  53. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/_utils.py +0 -0
  54. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_apify/py.typed +0 -0
  55. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_file_system/__init__.py +0 -0
  56. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_file_system/_dataset_client.py +0 -0
  57. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_file_system/_key_value_store_client.py +0 -0
  58. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_file_system/_storage_client.py +0 -0
  59. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_ppe_dataset_mixin.py +0 -0
  60. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_smart_apify/__init__.py +0 -0
  61. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/_smart_apify/_storage_client.py +0 -0
  62. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storage_clients/py.typed +0 -0
  63. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storages/__init__.py +0 -0
  64. {apify-3.4.2b1 → apify-3.4.2b3}/src/apify/storages/py.typed +0 -0
@@ -5,12 +5,26 @@ All notable changes to this project will be documented in this file.
5
5
  <!-- git-cliff-unreleased-start -->
6
6
  ## 3.4.2 - **not yet released**
7
7
 
8
+ ### 🚜 Refactor
9
+
10
+ - [**breaking**] Remove deprecated APIs ([#918](https://github.com/apify/apify-sdk-python/pull/918)) ([3e5728d](https://github.com/apify/apify-sdk-python/commit/3e5728d94cb8fd879d5a76e33a03d55792d835d5)) by [@vdusek](https://github.com/vdusek), closes [#635](https://github.com/apify/apify-sdk-python/issues/635)
11
+ - [**breaking**] Mark secondary arguments as keyword-only ([#917](https://github.com/apify/apify-sdk-python/pull/917)) ([eb94c99](https://github.com/apify/apify-sdk-python/commit/eb94c992ec4aba1cd7cf4dfd7a98731cb304651b)) by [@vdusek](https://github.com/vdusek), closes [#881](https://github.com/apify/apify-sdk-python/issues/881)
12
+
8
13
  ### ⚙️ Miscellaneous Tasks
9
14
 
10
15
  - [**breaking**] Drop Python 3.10 support ([#908](https://github.com/apify/apify-sdk-python/pull/908)) ([a67788e](https://github.com/apify/apify-sdk-python/commit/a67788e4d7845445a3e80a30af70580d2ab84f32)) by [@vdusek](https://github.com/vdusek), closes [#757](https://github.com/apify/apify-sdk-python/issues/757)
11
16
 
12
17
 
13
18
  <!-- git-cliff-unreleased-end -->
19
+
20
+ ## [3.4.1](https://github.com/apify/apify-sdk-python/releases/tag/v3.4.1) (2026-05-29)
21
+
22
+ ### 🐛 Bug Fixes
23
+
24
+ - Forward missing run kwargs in Actor.start&#x2F;call&#x2F;call_task ([#906](https://github.com/apify/apify-sdk-python/pull/906)) ([7a13809](https://github.com/apify/apify-sdk-python/commit/7a13809898f5579138febbb077f7ab7e4e72cbe1)) by [@vdusek](https://github.com/vdusek)
25
+ - Update `push_data` annotation with `JsonSerializable` instead of Any ([#899](https://github.com/apify/apify-sdk-python/pull/899)) ([b4f5485](https://github.com/apify/apify-sdk-python/commit/b4f5485175cfd248893bc8a2b3017fa797d1000e)) by [@Mantisus](https://github.com/Mantisus)
26
+
27
+
14
28
  ## [3.4.0](https://github.com/apify/apify-sdk-python/releases/tag/v3.4.0) (2026-05-05)
15
29
 
16
30
  ### 🚀 Features
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apify
3
- Version: 3.4.2b1
3
+ Version: 3.4.2b3
4
4
  Summary: Apify SDK for Python
5
5
  Project-URL: Apify Homepage, https://apify.com
6
6
  Project-URL: Changelog, https://docs.apify.com/sdk/python/docs/changelog
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "apify"
7
- version = "3.4.2b1"
7
+ version = "3.4.2b3"
8
8
  description = "Apify SDK for Python"
9
9
  authors = [{ name = "Apify Technologies s.r.o.", email = "support@apify.com" }]
10
10
  license = { file = "LICENSE" }
@@ -84,7 +84,7 @@ dev = [
84
84
  "ruff~=0.15.0",
85
85
  "setuptools", # setuptools are used by pytest but not explicitly required
86
86
  "ty~=0.0.0",
87
- "types-cachetools<7.0.0",
87
+ "types-cachetools<7.0.1",
88
88
  "uvicorn[standard]",
89
89
  "werkzeug<4.0.0", # Werkzeug is used by httpserver
90
90
  ]
@@ -2,7 +2,6 @@ from __future__ import annotations
2
2
 
3
3
  import asyncio
4
4
  import sys
5
- import warnings
6
5
  from contextlib import suppress
7
6
  from datetime import UTC, datetime, timedelta
8
7
  from functools import cached_property
@@ -625,7 +624,7 @@ class _ActorType:
625
624
  )
626
625
 
627
626
  @_ensure_context
628
- async def push_data(self, data: dict | list[dict], charged_event_name: str | None = None) -> ChargeResult:
627
+ async def push_data(self, data: dict | list[dict], *, charged_event_name: str | None = None) -> ChargeResult:
629
628
  """Store an object or a list of objects to the default dataset of the current Actor run.
630
629
 
631
630
  Args:
@@ -701,7 +700,7 @@ class _ActorType:
701
700
  return input_value
702
701
 
703
702
  @_ensure_context
704
- async def get_value(self, key: str, default_value: Any = None) -> Any:
703
+ async def get_value(self, key: str, *, default_value: Any = None) -> Any:
705
704
  """Get a value from the default key-value store associated with the current Actor run.
706
705
 
707
706
  Args:
@@ -735,7 +734,7 @@ class _ActorType:
735
734
  return self._charging_manager_implementation
736
735
 
737
736
  @_ensure_context
738
- async def charge(self, event_name: str, count: int = 1) -> ChargeResult:
737
+ async def charge(self, event_name: str, *, count: int = 1) -> ChargeResult:
739
738
  """Charge for a specified number of events - sub-operations of the Actor.
740
739
 
741
740
  This is relevant only for the pay-per-event pricing model.
@@ -746,7 +745,7 @@ class _ActorType:
746
745
  """
747
746
  # charging_manager.charge() acquires charge_lock internally.
748
747
  charging_manager = self.get_charging_manager()
749
- return await charging_manager.charge(event_name, count)
748
+ return await charging_manager.charge(event_name, count=count)
750
749
 
751
750
  @overload
752
751
  def on(
@@ -867,7 +866,7 @@ class _ActorType:
867
866
  max_total_charge_usd: Decimal | None = None,
868
867
  restart_on_error: bool | None = None,
869
868
  memory_mbytes: int | None = None,
870
- timeout: timedelta | None | Literal['inherit', 'RemainingTime'] = None,
869
+ timeout: timedelta | None | Literal['inherit'] = None,
871
870
  force_permission_level: ActorPermissionLevel | None = None,
872
871
  wait_for_finish: int | None = None,
873
872
  webhooks: list[Webhook] | None = None,
@@ -889,8 +888,8 @@ class _ActorType:
889
888
  memory_mbytes: Memory limit for the run, in megabytes. By default, the run uses a memory limit specified
890
889
  in the default run configuration for the Actor.
891
890
  timeout: Optional timeout for the run, in seconds. By default, the run uses timeout specified in
892
- the default run configuration for the Actor. Using `inherit` or `RemainingTime` will set timeout of the
893
- other Actor to the time remaining from this Actor timeout.
891
+ the default run configuration for the Actor. Using `inherit` will set timeout of the other Actor
892
+ to the time remaining from this Actor timeout.
894
893
  force_permission_level: Override the Actor's permissions for this run. If not set, the Actor will run
895
894
  with permissions configured in the Actor settings.
896
895
  wait_for_finish: The maximum number of seconds the server waits for the run to finish. By default,
@@ -911,22 +910,14 @@ class _ActorType:
911
910
  else:
912
911
  serialized_webhooks = None
913
912
 
914
- if timeout in {'inherit', 'RemainingTime'}:
915
- if timeout == 'RemainingTime':
916
- warnings.warn(
917
- '`RemainingTime` is deprecated and will be removed in version 4.0.0. Use `inherit` instead.',
918
- DeprecationWarning,
919
- stacklevel=2,
920
- )
913
+ if timeout == 'inherit':
921
914
  actor_start_timeout = self._get_remaining_time()
922
915
  elif timeout is None:
923
916
  actor_start_timeout = None
924
917
  elif isinstance(timeout, timedelta):
925
918
  actor_start_timeout = timeout
926
919
  else:
927
- raise ValueError(
928
- f'Invalid timeout {timeout!r}: expected `None`, `"inherit"`, `"RemainingTime"`, or a `timedelta`.'
929
- )
920
+ raise ValueError(f'Invalid timeout {timeout!r}: expected `None`, `"inherit"`, or a `timedelta`.')
930
921
 
931
922
  api_result = await client.actor(actor_id).start(
932
923
  run_input=run_input,
@@ -988,7 +979,7 @@ class _ActorType:
988
979
  max_total_charge_usd: Decimal | None = None,
989
980
  restart_on_error: bool | None = None,
990
981
  memory_mbytes: int | None = None,
991
- timeout: timedelta | None | Literal['inherit', 'RemainingTime'] = None,
982
+ timeout: timedelta | None | Literal['inherit'] = None,
992
983
  force_permission_level: ActorPermissionLevel | None = None,
993
984
  webhooks: list[Webhook] | None = None,
994
985
  wait: timedelta | None = None,
@@ -1011,8 +1002,8 @@ class _ActorType:
1011
1002
  memory_mbytes: Memory limit for the run, in megabytes. By default, the run uses a memory limit specified
1012
1003
  in the default run configuration for the Actor.
1013
1004
  timeout: Optional timeout for the run, in seconds. By default, the run uses timeout specified in
1014
- the default run configuration for the Actor. Using `inherit` or `RemainingTime` will set timeout of the
1015
- other Actor to the time remaining from this Actor timeout.
1005
+ the default run configuration for the Actor. Using `inherit` will set timeout of the other Actor
1006
+ to the time remaining from this Actor timeout.
1016
1007
  force_permission_level: Override the Actor's permissions for this run. If not set, the Actor will run
1017
1008
  with permissions configured in the Actor settings.
1018
1009
  webhooks: Optional webhooks (https://docs.apify.com/webhooks) associated with the Actor run, which can
@@ -1036,23 +1027,14 @@ class _ActorType:
1036
1027
  else:
1037
1028
  serialized_webhooks = None
1038
1029
 
1039
- if timeout in {'inherit', 'RemainingTime'}:
1040
- if timeout == 'RemainingTime':
1041
- warnings.warn(
1042
- '`RemainingTime` is deprecated and will be removed in version 4.0.0. Use `inherit` instead.',
1043
- DeprecationWarning,
1044
- stacklevel=2,
1045
- )
1046
-
1030
+ if timeout == 'inherit':
1047
1031
  actor_call_timeout = self._get_remaining_time()
1048
1032
  elif timeout is None:
1049
1033
  actor_call_timeout = None
1050
1034
  elif isinstance(timeout, timedelta):
1051
1035
  actor_call_timeout = timeout
1052
1036
  else:
1053
- raise ValueError(
1054
- f'Invalid timeout {timeout!r}: expected `None`, `"inherit"`, `"RemainingTime"`, or a `timedelta`.'
1055
- )
1037
+ raise ValueError(f'Invalid timeout {timeout!r}: expected `None`, `"inherit"`, or a `timedelta`.')
1056
1038
 
1057
1039
  api_result = await client.actor(actor_id).call(
1058
1040
  run_input=run_input,
@@ -1397,6 +1379,7 @@ class _ActorType:
1397
1379
  async def use_state(
1398
1380
  self,
1399
1381
  default_value: dict[str, JsonSerializable] | None = None,
1382
+ *,
1400
1383
  key: str | None = None,
1401
1384
  kvs_name: str | None = None,
1402
1385
  ) -> MutableMapping[str, JsonSerializable]:
@@ -1450,7 +1433,7 @@ class _ActorType:
1450
1433
  return max(self.configuration.timeout_at - datetime.now(tz=UTC), timedelta(0))
1451
1434
 
1452
1435
  self.log.warning(
1453
- 'Using `inherit` or `RemainingTime` argument is only possible when the Actor'
1436
+ 'Using `inherit` argument is only possible when the Actor'
1454
1437
  ' is running on the Apify platform and when the timeout for the Actor run is set. '
1455
1438
  f'{self.is_at_home()=}, {self.configuration.timeout_at=}'
1456
1439
  )
@@ -55,7 +55,7 @@ class ChargingManager(Protocol):
55
55
  charge_lock: ReentrantLock
56
56
  """Lock to synchronize charge operations. Prevents race conditions between `charge` and `push_data` calls."""
57
57
 
58
- async def charge(self, event_name: str, count: int = 1) -> ChargeResult:
58
+ async def charge(self, event_name: str, *, count: int = 1) -> ChargeResult:
59
59
  """Charge for a specified number of events - sub-operations of the Actor.
60
60
 
61
61
  This is relevant only for the pay-per-event pricing model.
@@ -250,7 +250,7 @@ class ChargingManagerImplementation(ChargingManager):
250
250
  self.active = False
251
251
 
252
252
  @_ensure_context
253
- async def charge(self, event_name: str, count: int = 1) -> ChargeResult:
253
+ async def charge(self, event_name: str, *, count: int = 1) -> ChargeResult:
254
254
  # For runs that do not use the pay-per-event pricing model, just print a warning and return
255
255
  if self._pricing_model != 'PAY_PER_EVENT':
256
256
  if not self._not_ppe_warning_printed:
@@ -308,7 +308,7 @@ class ChargingManagerImplementation(ChargingManager):
308
308
  # the platform handles them automatically based on dataset writes.
309
309
  pass
310
310
  elif event_name in self._pricing_info:
311
- await self._client.run(self._actor_run_id).charge(event_name, charged_count)
311
+ await self._client.run(self._actor_run_id).charge(event_name, count=charged_count)
312
312
  else:
313
313
  logger.warning(f"Attempting to charge for an unknown event '{event_name}'")
314
314
 
@@ -8,7 +8,7 @@ from pathlib import Path
8
8
  from typing import Annotated, Any, Self
9
9
 
10
10
  from pydantic import AliasChoices, BeforeValidator, Field, model_validator
11
- from typing_extensions import TypedDict, deprecated
11
+ from typing_extensions import TypedDict
12
12
 
13
13
  from crawlee import service_locator
14
14
  from crawlee._utils.models import timedelta_ms
@@ -273,22 +273,6 @@ class Configuration(CrawleeConfiguration):
273
273
  ),
274
274
  ] = False
275
275
 
276
- latest_sdk_version: Annotated[
277
- str | None,
278
- Field(
279
- alias='apify_sdk_latest_version',
280
- description='Specifies the most recent release version of the Apify SDK for Javascript. Used for '
281
- 'checking for updates.',
282
- ),
283
- deprecated('SDK version checking is not supported for the Python SDK'),
284
- ] = None
285
-
286
- log_format: Annotated[
287
- str | None,
288
- Field(alias='apify_log_format'),
289
- deprecated('Adjust the log format in code instead'),
290
- ] = None
291
-
292
276
  max_paid_dataset_items: Annotated[
293
277
  int | None,
294
278
  Field(
@@ -386,15 +370,6 @@ class Configuration(CrawleeConfiguration):
386
370
  BeforeValidator(lambda val: val if val != '' else None), # We should accept empty environment variables as well
387
371
  ] = None
388
372
 
389
- standby_port: Annotated[
390
- int,
391
- Field(
392
- alias='actor_standby_port',
393
- description='TCP port for the Actor to start an HTTP server to receive messages in the Actor Standby mode',
394
- ),
395
- deprecated('Use `web_server_port` instead'),
396
- ] = 4321
397
-
398
373
  standby_url: Annotated[
399
374
  str,
400
375
  BeforeValidator(validate_http_url),
@@ -1,7 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import asyncio
4
- import warnings
5
4
  from logging import getLogger
6
5
  from typing import TYPE_CHECKING
7
6
 
@@ -42,7 +41,6 @@ class ApifyDatasetClient(DatasetClient, DatasetClientPpeMixin):
42
41
  self,
43
42
  *,
44
43
  api_client: DatasetClientAsync,
45
- api_public_base_url: str,
46
44
  lock: asyncio.Lock,
47
45
  ) -> None:
48
46
  """Initialize a new instance.
@@ -58,14 +56,6 @@ class ApifyDatasetClient(DatasetClient, DatasetClientPpeMixin):
58
56
  self._lock = lock
59
57
  """A lock to ensure that only one operation is performed at a time."""
60
58
 
61
- if api_public_base_url:
62
- # Remove in version 4.0, https://github.com/apify/apify-sdk-python/issues/635
63
- warnings.warn(
64
- 'api_public_base_url argument is deprecated and will be removed in version 4.0.0',
65
- DeprecationWarning,
66
- stacklevel=2,
67
- )
68
-
69
59
  @override
70
60
  async def get_metadata(self) -> DatasetMetadata:
71
61
  metadata = await self._api_client.get()
@@ -114,7 +104,6 @@ class ApifyDatasetClient(DatasetClient, DatasetClientPpeMixin):
114
104
 
115
105
  dataset_client = cls(
116
106
  api_client=api_client,
117
- api_public_base_url='', # Remove in version 4.0, https://github.com/apify/apify-sdk-python/issues/635
118
107
  lock=asyncio.Lock(),
119
108
  )
120
109
 
@@ -1,7 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import asyncio
4
- import warnings
5
4
  from logging import getLogger
6
5
  from typing import TYPE_CHECKING, Any
7
6
 
@@ -30,7 +29,6 @@ class ApifyKeyValueStoreClient(KeyValueStoreClient):
30
29
  self,
31
30
  *,
32
31
  api_client: KeyValueStoreClientAsync,
33
- api_public_base_url: str,
34
32
  lock: asyncio.Lock,
35
33
  ) -> None:
36
34
  """Initialize a new instance.
@@ -43,14 +41,6 @@ class ApifyKeyValueStoreClient(KeyValueStoreClient):
43
41
  self._lock = lock
44
42
  """A lock to ensure that only one operation is performed at a time."""
45
43
 
46
- if api_public_base_url:
47
- # Remove in version 4.0, https://github.com/apify/apify-sdk-python/issues/635
48
- warnings.warn(
49
- 'api_public_base_url argument is deprecated and will be removed in version 4.0.0',
50
- DeprecationWarning,
51
- stacklevel=2,
52
- )
53
-
54
44
  @override
55
45
  async def get_metadata(self) -> ApifyKeyValueStoreMetadata:
56
46
  metadata = await self._api_client.get()
@@ -98,7 +88,6 @@ class ApifyKeyValueStoreClient(KeyValueStoreClient):
98
88
  )
99
89
  return cls(
100
90
  api_client=api_client,
101
- api_public_base_url='', # Remove in version 4.0, https://github.com/apify/apify-sdk-python/issues/635
102
91
  lock=asyncio.Lock(),
103
92
  )
104
93
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes