apify 2.1.0b7__tar.gz → 2.1.0b9__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.

Potentially problematic release.


This version of apify might be problematic. Click here for more details.

Files changed (38) hide show
  1. {apify-2.1.0b7 → apify-2.1.0b9}/PKG-INFO +2 -2
  2. {apify-2.1.0b7 → apify-2.1.0b9}/pyproject.toml +15 -14
  3. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/_configuration.py +1 -1
  4. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/_proxy_configuration.py +1 -1
  5. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/storages/__init__.py +1 -1
  6. {apify-2.1.0b7 → apify-2.1.0b9}/LICENSE +0 -0
  7. {apify-2.1.0b7 → apify-2.1.0b9}/README.md +0 -0
  8. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/__init__.py +1 -1
  9. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/_actor.py +0 -0
  10. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/_consts.py +0 -0
  11. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/_crypto.py +0 -0
  12. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/_models.py +0 -0
  13. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/_platform_event_manager.py +0 -0
  14. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/_utils.py +0 -0
  15. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/apify_storage_client/__init__.py +0 -0
  16. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/apify_storage_client/_apify_storage_client.py +0 -0
  17. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/apify_storage_client/_dataset_client.py +0 -0
  18. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/apify_storage_client/_dataset_collection_client.py +0 -0
  19. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/apify_storage_client/_key_value_store_client.py +0 -0
  20. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/apify_storage_client/_key_value_store_collection_client.py +0 -0
  21. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/apify_storage_client/_request_queue_client.py +0 -0
  22. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/apify_storage_client/_request_queue_collection_client.py +0 -0
  23. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/apify_storage_client/py.typed +0 -0
  24. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/log.py +0 -0
  25. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/py.typed +0 -0
  26. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/__init__.py +2 -2
  27. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/middlewares/__init__.py +0 -0
  28. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/middlewares/apify_proxy.py +0 -0
  29. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/middlewares/py.typed +0 -0
  30. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/pipelines/__init__.py +0 -0
  31. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/pipelines/actor_dataset_push.py +0 -0
  32. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/pipelines/py.typed +0 -0
  33. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/py.typed +0 -0
  34. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/requests.py +0 -0
  35. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/scheduler.py +0 -0
  36. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/scrapy/utils.py +0 -0
  37. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/storages/_request_list.py +0 -0
  38. {apify-2.1.0b7 → apify-2.1.0b9}/src/apify/storages/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apify
3
- Version: 2.1.0b7
3
+ Version: 2.1.0b9
4
4
  Summary: Apify SDK for Python
5
5
  License: Apache-2.0
6
6
  Keywords: apify,sdk,automation,chrome,crawlee,crawler,headless,scraper,scraping
@@ -23,7 +23,7 @@ Requires-Dist: apify-client (>=1.8.1)
23
23
  Requires-Dist: apify-shared (>=1.1.2)
24
24
  Requires-Dist: crawlee (>=0.4.0,<0.5.0)
25
25
  Requires-Dist: cryptography (>=42.0.0)
26
- Requires-Dist: httpx (>=0.27.0)
26
+ Requires-Dist: httpx (>=0.27.0,<0.28.0)
27
27
  Requires-Dist: lazy-object-proxy (>=1.10.0)
28
28
  Requires-Dist: scrapy (>=2.11.0) ; extra == "scrapy"
29
29
  Requires-Dist: typing-extensions (>=4.1.0)
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "apify"
7
- version = "2.1.0b7"
7
+ version = "2.1.0b9"
8
8
  description = "Apify SDK for Python"
9
9
  authors = ["Apify Technologies s.r.o. <support@apify.com>"]
10
10
  license = "Apache-2.0"
@@ -41,16 +41,15 @@ keywords = [
41
41
  "Issue Tracker" = "https://github.com/apify/apify-sdk-python/issues"
42
42
  "Repository" = "https://github.com/apify/apify-sdk-python"
43
43
 
44
- # We use inclusive ordered comparison clauses for external packages intentionally in order to enhance SDK's
45
- # compatibility with external packages. This decision was discussed in detail in the following PR:
46
- # https://github.com/apify/apify-sdk-python/pull/154.
47
44
  [tool.poetry.dependencies]
48
45
  python = "^3.9"
49
46
  apify-client = ">=1.8.1"
50
47
  apify-shared = ">=1.1.2"
51
48
  crawlee = "~0.4.0"
52
49
  cryptography = ">=42.0.0"
53
- httpx = ">=0.27.0"
50
+ # TODO: relax the upper bound once the issue is resolved:
51
+ # https://github.com/apify/apify-sdk-python/issues/348
52
+ httpx = "~0.27.0"
54
53
  lazy-object-proxy = ">=1.10.0"
55
54
  scrapy = { version = ">=2.11.0", optional = true }
56
55
  typing-extensions = ">=4.1.0"
@@ -70,7 +69,7 @@ pytest-only = "~2.1.0"
70
69
  pytest-timeout = "~2.3.0"
71
70
  pytest-xdist = "~3.6.0"
72
71
  respx = "~0.21.0"
73
- ruff = "~0.7.0"
72
+ ruff = "~0.8.0"
74
73
  setuptools = "~75.6.0" # setuptools are used by pytest but not explicitly required
75
74
 
76
75
  [tool.poetry.extras]
@@ -82,8 +81,6 @@ line-length = 120
82
81
  [tool.ruff.lint]
83
82
  select = ["ALL"]
84
83
  ignore = [
85
- "ANN101", # Missing type annotation for `self` in method
86
- "ANN102", # Missing type annotation for `{name}` in classmethod
87
84
  "ANN401", # Dynamically typed expressions (typing.Any) are disallowed in {filename}
88
85
  "ASYNC109", # Async function definition with a `timeout` parameter
89
86
  "BLE001", # Do not catch blind exception
@@ -96,7 +93,6 @@ ignore = [
96
93
  "G004", # Logging statement uses f-string
97
94
  "ISC001", # This rule may cause conflicts when used with the formatter
98
95
  "FIX", # flake8-fixme
99
- "PGH003", # Use specific rule codes when ignoring type issues
100
96
  "PLR0911", # Too many return statements
101
97
  "PLR0913", # Too many arguments in function definition
102
98
  "PLR0915", # Too many statements
@@ -142,7 +138,10 @@ docstring-quotes = "double"
142
138
  inline-quotes = "single"
143
139
 
144
140
  [tool.ruff.lint.flake8-type-checking]
145
- runtime-evaluated-base-classes = ["pydantic.BaseModel", "crawlee.configuration.Configuration"]
141
+ runtime-evaluated-base-classes = [
142
+ "pydantic.BaseModel",
143
+ "crawlee.configuration.Configuration",
144
+ ]
146
145
 
147
146
  [tool.ruff.lint.flake8-builtins]
148
147
  builtins-ignorelist = ["id"]
@@ -183,15 +182,17 @@ exclude = []
183
182
  module = ['scrapy', 'scrapy.*', 'lazy_object_proxy']
184
183
  ignore_missing_imports = true
185
184
 
185
+ [tool.basedpyright]
186
+ pythonVersion = "3.9"
187
+ typeCheckingMode = "standard"
188
+ include = ["src", "tests"]
189
+
186
190
  [tool.coverage.report]
187
191
  exclude_lines = [
188
192
  "pragma: no cover",
189
193
  "if TYPE_CHECKING:",
190
- "assert_never()"
194
+ "assert_never()",
191
195
  ]
192
196
 
193
- [tool.basedpyright]
194
- typeCheckingMode = "standard"
195
-
196
197
  [tool.ipdb]
197
198
  context = 7
@@ -323,4 +323,4 @@ class Configuration(CrawleeConfiguration):
323
323
 
324
324
 
325
325
  # Monkey-patch the base class so that it works with the extended configuration
326
- CrawleeConfiguration.get_global_configuration = Configuration.get_global_configuration # type: ignore
326
+ CrawleeConfiguration.get_global_configuration = Configuration.get_global_configuration # type: ignore[method-assign]
@@ -280,7 +280,7 @@ class ProxyConfiguration(CrawleeProxyConfiguration):
280
280
  return
281
281
 
282
282
  status = None
283
- async with httpx.AsyncClient(proxies=proxy_info.url, timeout=10) as client:
283
+ async with httpx.AsyncClient(proxy=proxy_info.url, timeout=10) as client:
284
284
  for _ in range(2):
285
285
  try:
286
286
  response = await client.get(proxy_status_url)
@@ -2,4 +2,4 @@ from crawlee.storages import Dataset, KeyValueStore, RequestQueue
2
2
 
3
3
  from ._request_list import RequestList
4
4
 
5
- __all__ = ['Dataset', 'KeyValueStore', 'RequestQueue', 'RequestList']
5
+ __all__ = ['Dataset', 'KeyValueStore', 'RequestList', 'RequestQueue']
File without changes
File without changes
@@ -13,8 +13,8 @@ __version__ = metadata.version('apify')
13
13
 
14
14
  __all__ = [
15
15
  'Actor',
16
- 'Event',
17
16
  'Configuration',
17
+ 'Event',
18
18
  'ProxyConfiguration',
19
19
  'ProxyInfo',
20
20
  'Request',
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -3,9 +3,9 @@ from apify.scrapy.scheduler import ApifyScheduler
3
3
  from apify.scrapy.utils import get_basic_auth_header, get_running_event_loop_id
4
4
 
5
5
  __all__ = [
6
- 'to_apify_request',
7
- 'to_scrapy_request',
8
6
  'ApifyScheduler',
9
7
  'get_basic_auth_header',
10
8
  'get_running_event_loop_id',
9
+ 'to_apify_request',
10
+ 'to_scrapy_request',
11
11
  ]