crawlora 1.44.0.dev1__tar.gz → 1.44.0.dev2__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.
- {crawlora-1.44.0.dev1/crawlora.egg-info → crawlora-1.44.0.dev2}/PKG-INFO +1 -1
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora/client.py +1 -1
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora/client.pyi +2 -2
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2/crawlora.egg-info}/PKG-INFO +1 -1
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/docs/operations.md +2 -2
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/pyproject.toml +1 -1
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/tests/test_client.py +2 -1
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/LICENSE +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/MANIFEST.in +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/README.md +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora/__init__.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora/_pagination.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora/_transport_sync.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora/async_client.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora/operations.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora/py.typed +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora.egg-info/SOURCES.txt +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora.egg-info/dependency_links.txt +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora.egg-info/requires.txt +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/crawlora.egg-info/top_level.txt +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/docs/recipes.md +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/examples/async_search.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/examples/bing_search.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/examples/paginate.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/examples/youtube_transcript.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/setup.cfg +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/tests/test_async_httpx.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/tests/test_examples.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/tests/test_v14_features.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/tests/test_v15_features.py +0 -0
- {crawlora-1.44.0.dev1 → crawlora-1.44.0.dev2}/tests/test_w2_features.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crawlora
|
|
3
|
-
Version: 1.44.0.
|
|
3
|
+
Version: 1.44.0.dev2
|
|
4
4
|
Summary: Official Python SDK for the Crawlora web-scraping API: typed grouped and dynamic operation calls for every public endpoint, with retries, pagination, hooks, and an async client.
|
|
5
5
|
Author: Crawlora
|
|
6
6
|
License-Expression: MIT
|
|
@@ -20,7 +20,7 @@ from ._transport_sync import KeepAliveTransport
|
|
|
20
20
|
from .operations import GROUPS, OPERATIONS
|
|
21
21
|
|
|
22
22
|
DEFAULT_BASE_URL = "https://api.crawlora.net/api/v1"
|
|
23
|
-
VERSION = "1.44.0-sdk.
|
|
23
|
+
VERSION = "1.44.0-sdk.2"
|
|
24
24
|
DEFAULT_USER_AGENT = f"crawlora-python-sdk/{VERSION}"
|
|
25
25
|
DEFAULT_MAX_RETRY_DELAY = 30.0
|
|
26
26
|
DEFAULT_RETRY_STATUSES = (408, 409, 425, 429)
|
|
@@ -92586,7 +92586,7 @@ XboxBrowseParams = TypedDict('XboxBrowseParams', {
|
|
|
92586
92586
|
'sort': NotRequired[Literal['relevance', 'release_date_desc', 'most_popular', 'price_asc', 'price_desc', 'most_wishlisted', 'discount_desc', 'title_asc', 'title_desc']],
|
|
92587
92587
|
'genre': NotRequired[list[Literal['Action & adventure', 'Card & board', 'Casino', 'Classics', 'Companion', 'Educational', 'Family & kids', 'Fighting', 'Multi-Player Online Battle Arena', 'Music', 'Other', 'Platformer', 'Puzzle & trivia', 'Racing & flying', 'Role playing', 'Shooter', 'Simulation', 'Sports', 'Strategy', 'Tools', 'Word']]],
|
|
92588
92588
|
'price': NotRequired[list[Literal['OnSale', '0', '0.01To5', '5To10', '10To20', '20To40', '40To60', '60To']]],
|
|
92589
|
-
'platform': NotRequired[list[
|
|
92589
|
+
'platform': NotRequired[list[str]],
|
|
92590
92590
|
'subscription': NotRequired[list[Literal['CFQ7TTC0KHS0', 'CFQ7TTC0P85B', 'CFQ7TTC0K5DJ', 'CFQ7TTC0K6L8', 'CFQ7TTC0KGQ8', 'CFQ7TTC0K5DH', 'CFQ7TTC0QH5H']]],
|
|
92591
92591
|
'age_rating': NotRequired[list[Literal['ESRB:EC', 'ESRB:E', 'ESRB:E10', 'ESRB:T', 'ESRB:M', 'ESRB:AO', 'ESRB:RPEveryone', 'ESRB:RPMature', 'ESRB:RPTeen', 'ESRB:UR']]],
|
|
92592
92592
|
'multiplayer': NotRequired[list[Literal['CrossPlatformMultiplayer', 'CrossPlatformCoop', 'SinglePlayer', 'OnlineMultiplayerWithGold', 'CoopSupportOnline', 'CoopSupportLocal', 'LocalMultiplayer']]],
|
|
@@ -92639,7 +92639,7 @@ XboxSearchParams = TypedDict('XboxSearchParams', {
|
|
|
92639
92639
|
'sort': NotRequired[Literal['relevance', 'release_date_desc', 'most_popular', 'price_asc', 'price_desc', 'most_wishlisted', 'discount_desc', 'title_asc', 'title_desc']],
|
|
92640
92640
|
'genre': NotRequired[list[Literal['Action & adventure', 'Card & board', 'Casino', 'Classics', 'Companion', 'Educational', 'Family & kids', 'Fighting', 'Multi-Player Online Battle Arena', 'Music', 'Other', 'Platformer', 'Puzzle & trivia', 'Racing & flying', 'Role playing', 'Shooter', 'Simulation', 'Sports', 'Strategy', 'Tools', 'Word']]],
|
|
92641
92641
|
'price': NotRequired[list[Literal['OnSale', '0', '0.01To5', '5To10', '10To20', '20To40', '40To60', '60To']]],
|
|
92642
|
-
'platform': NotRequired[list[
|
|
92642
|
+
'platform': NotRequired[list[str]],
|
|
92643
92643
|
'subscription': NotRequired[list[Literal['CFQ7TTC0KHS0', 'CFQ7TTC0P85B', 'CFQ7TTC0K5DJ', 'CFQ7TTC0K6L8', 'CFQ7TTC0KGQ8', 'CFQ7TTC0K5DH', 'CFQ7TTC0QH5H']]],
|
|
92644
92644
|
'age_rating': NotRequired[list[Literal['ESRB:EC', 'ESRB:E', 'ESRB:E10', 'ESRB:T', 'ESRB:M', 'ESRB:AO', 'ESRB:RPEveryone', 'ESRB:RPMature', 'ESRB:RPTeen', 'ESRB:UR']]],
|
|
92645
92645
|
'multiplayer': NotRequired[list[Literal['CrossPlatformMultiplayer', 'CrossPlatformCoop', 'SinglePlayer', 'OnlineMultiplayerWithGold', 'CoopSupportOnline', 'CoopSupportLocal', 'LocalMultiplayer']]],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crawlora
|
|
3
|
-
Version: 1.44.0.
|
|
3
|
+
Version: 1.44.0.dev2
|
|
4
4
|
Summary: Official Python SDK for the Crawlora web-scraping API: typed grouped and dynamic operation calls for every public endpoint, with retries, pagination, hooks, and an async client.
|
|
5
5
|
Author: Crawlora
|
|
6
6
|
License-Expression: MIT
|
|
@@ -3121,11 +3121,11 @@ Total operations: `3275`
|
|
|
3121
3121
|
| x | `x.post` | `x-post` | `GET /x/post/{id}` | `id` (path str required)<br>`username` (query str) | `ApiKeyAuth` | `XPostResponse` | |
|
|
3122
3122
|
| x | `x.profile` | `x-profile` | `GET /x/profile/{username}` | `username` (path str required) | `ApiKeyAuth` | `XProfileResponse` | |
|
|
3123
3123
|
| x | `x.profile_posts` | `x-profile-posts` | `GET /x/profile/{username}/posts` | `username` (path str required)<br>`limit` (query int) | `ApiKeyAuth` | `XProfilePostsResponse` | |
|
|
3124
|
-
| xbox | `xbox.browse` | `xbox-browse` | `GET /xbox/browse` | `cursor` (query str)<br>`sort` (query Literal['relevance', 'release_date_desc', 'most_popular', 'price_asc', 'price_desc', 'most_wishlisted', 'discount_desc', 'title_asc', 'title_desc'])<br>`genre` (query list[Literal['Action & adventure', 'Card & board', 'Casino', 'Classics', 'Companion', 'Educational', 'Family & kids', 'Fighting', 'Multi-Player Online Battle Arena', 'Music', 'Other', 'Platformer', 'Puzzle & trivia', 'Racing & flying', 'Role playing', 'Shooter', 'Simulation', 'Sports', 'Strategy', 'Tools', 'Word']])<br>`price` (query list[Literal['OnSale', '0', '0.01To5', '5To10', '10To20', '20To40', '40To60', '60To']])<br>`platform` (query list[
|
|
3124
|
+
| xbox | `xbox.browse` | `xbox-browse` | `GET /xbox/browse` | `cursor` (query str)<br>`sort` (query Literal['relevance', 'release_date_desc', 'most_popular', 'price_asc', 'price_desc', 'most_wishlisted', 'discount_desc', 'title_asc', 'title_desc'])<br>`genre` (query list[Literal['Action & adventure', 'Card & board', 'Casino', 'Classics', 'Companion', 'Educational', 'Family & kids', 'Fighting', 'Multi-Player Online Battle Arena', 'Music', 'Other', 'Platformer', 'Puzzle & trivia', 'Racing & flying', 'Role playing', 'Shooter', 'Simulation', 'Sports', 'Strategy', 'Tools', 'Word']])<br>`price` (query list[Literal['OnSale', '0', '0.01To5', '5To10', '10To20', '20To40', '40To60', '60To']])<br>`platform` (query list[str])<br>`subscription` (query list[Literal['CFQ7TTC0KHS0', 'CFQ7TTC0P85B', 'CFQ7TTC0K5DJ', 'CFQ7TTC0K6L8', 'CFQ7TTC0KGQ8', 'CFQ7TTC0K5DH', 'CFQ7TTC0QH5H']])<br>`age_rating` (query list[Literal['ESRB:EC', 'ESRB:E', 'ESRB:E10', 'ESRB:T', 'ESRB:M', 'ESRB:AO', 'ESRB:RPEveryone', 'ESRB:RPMature', 'ESRB:RPTeen', 'ESRB:UR']])<br>`multiplayer` (query list[Literal['CrossPlatformMultiplayer', 'CrossPlatformCoop', 'SinglePlayer', 'OnlineMultiplayerWithGold', 'CoopSupportOnline', 'CoopSupportLocal', 'LocalMultiplayer']])<br>`technical_features` (query list[Literal['CapabilityXboxEnhanced', 'ConsoleGen9Optimized', 'ConsoleCrossGen', 'Capability4k', 'CapabilityHDR', '60fps', '120fps', 'RayTracing']])<br>`handheld_compatibility` (query list[Literal['VERIFIED', 'PLAYABLE', 'UNSUPPORTED', 'UNKNOWN']])<br>`supported_language` (query list[Literal['ar-SA', 'zh-CN', 'zh-TW', 'cs-CZ', 'da-DK', 'nl-NL', 'en-GB', 'en-US', 'fi-FI', 'fr-FR', 'de-DE', 'el-GR', 'he-IL', 'hu-HU', 'it-IT', 'ja-JP', 'ko-KR', 'nb-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'sk-SK', 'es-MX', 'es-ES', 'sv-SE', 'tr-TR']])<br>`accessibility` (query list[Literal['AccessibilityOnLaunch', 'AdjustableDifficulty', 'OnDemandTutorials', 'Pausable', 'ProgressSavingOptions', 'MonoSound', 'CustomVolumeControls', 'NarratedGameMenus', 'StereoSound', 'SpatialAudio', 'SteadyCamera', 'ContrastOptions', 'ColorOptions', 'SubtitleOptions', 'AdjustableTextSize', 'AdjustableInputSensitivity', 'BasicInputRemapping', 'TtsSttCommunications', 'InputRemapping', 'PlayableWithButtonsOnly', 'FullKeyboardSupport', 'PlayableWithMouseOnly', 'PlayableWithTouchOnly', 'NoButtonHolds', 'PlayableWithoutMotionControls', 'NoQuickTimeEvents', 'PlayableWithoutTouchControls', 'SingleStickGameplay', 'StickInversion']])<br>`locale` (query str) | `ApiKeyAuth` | `XboxBrowseResponse` | |
|
|
3125
3125
|
| xbox | `xbox.collection` | `xbox-collection` | `GET /xbox/collection` | `id` (query Literal['TopFreeGames', 'TopPaidGames', 'OptimizedSeriesXS', 'XboxPlayAnywhere'] required)<br>`cursor` (query str)<br>`locale` (query str) | `ApiKeyAuth` | `XboxCollectionResponse` | |
|
|
3126
3126
|
| xbox | `xbox.game` | `xbox-game` | `GET /xbox/game` | `product_id` (query str required)<br>`locale` (query str) | `ApiKeyAuth` | `XboxGameResponse` | |
|
|
3127
3127
|
| xbox | `xbox.reviews` | `xbox-reviews` | `GET /xbox/reviews` | `product_id` (query str required)<br>`item_count` (query int)<br>`order_by` (query Literal['MostHelpful', 'MostRecent'])<br>`star_filter` (query int)<br>`locale` (query str) | `ApiKeyAuth` | `XboxReviewsResponse` | |
|
|
3128
|
-
| xbox | `xbox.search` | `xbox-search` | `GET /xbox/search` | `query` (query str required)<br>`category` (query Literal['games', 'addons', 'hardware'])<br>`cursor` (query str)<br>`sort` (query Literal['relevance', 'release_date_desc', 'most_popular', 'price_asc', 'price_desc', 'most_wishlisted', 'discount_desc', 'title_asc', 'title_desc'])<br>`genre` (query list[Literal['Action & adventure', 'Card & board', 'Casino', 'Classics', 'Companion', 'Educational', 'Family & kids', 'Fighting', 'Multi-Player Online Battle Arena', 'Music', 'Other', 'Platformer', 'Puzzle & trivia', 'Racing & flying', 'Role playing', 'Shooter', 'Simulation', 'Sports', 'Strategy', 'Tools', 'Word']])<br>`price` (query list[Literal['OnSale', '0', '0.01To5', '5To10', '10To20', '20To40', '40To60', '60To']])<br>`platform` (query list[
|
|
3128
|
+
| xbox | `xbox.search` | `xbox-search` | `GET /xbox/search` | `query` (query str required)<br>`category` (query Literal['games', 'addons', 'hardware'])<br>`cursor` (query str)<br>`sort` (query Literal['relevance', 'release_date_desc', 'most_popular', 'price_asc', 'price_desc', 'most_wishlisted', 'discount_desc', 'title_asc', 'title_desc'])<br>`genre` (query list[Literal['Action & adventure', 'Card & board', 'Casino', 'Classics', 'Companion', 'Educational', 'Family & kids', 'Fighting', 'Multi-Player Online Battle Arena', 'Music', 'Other', 'Platformer', 'Puzzle & trivia', 'Racing & flying', 'Role playing', 'Shooter', 'Simulation', 'Sports', 'Strategy', 'Tools', 'Word']])<br>`price` (query list[Literal['OnSale', '0', '0.01To5', '5To10', '10To20', '20To40', '40To60', '60To']])<br>`platform` (query list[str])<br>`subscription` (query list[Literal['CFQ7TTC0KHS0', 'CFQ7TTC0P85B', 'CFQ7TTC0K5DJ', 'CFQ7TTC0K6L8', 'CFQ7TTC0KGQ8', 'CFQ7TTC0K5DH', 'CFQ7TTC0QH5H']])<br>`age_rating` (query list[Literal['ESRB:EC', 'ESRB:E', 'ESRB:E10', 'ESRB:T', 'ESRB:M', 'ESRB:AO', 'ESRB:RPEveryone', 'ESRB:RPMature', 'ESRB:RPTeen', 'ESRB:UR']])<br>`multiplayer` (query list[Literal['CrossPlatformMultiplayer', 'CrossPlatformCoop', 'SinglePlayer', 'OnlineMultiplayerWithGold', 'CoopSupportOnline', 'CoopSupportLocal', 'LocalMultiplayer']])<br>`technical_features` (query list[Literal['CapabilityXboxEnhanced', 'ConsoleGen9Optimized', 'ConsoleCrossGen', 'Capability4k', 'CapabilityHDR', '60fps', '120fps', 'RayTracing']])<br>`handheld_compatibility` (query list[Literal['VERIFIED', 'PLAYABLE', 'UNSUPPORTED', 'UNKNOWN']])<br>`supported_language` (query list[Literal['ar-SA', 'zh-CN', 'zh-TW', 'cs-CZ', 'da-DK', 'nl-NL', 'en-GB', 'en-US', 'fi-FI', 'fr-FR', 'de-DE', 'el-GR', 'he-IL', 'hu-HU', 'it-IT', 'ja-JP', 'ko-KR', 'nb-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ru-RU', 'sk-SK', 'es-MX', 'es-ES', 'sv-SE', 'tr-TR']])<br>`accessibility` (query list[Literal['AccessibilityOnLaunch', 'AdjustableDifficulty', 'OnDemandTutorials', 'Pausable', 'ProgressSavingOptions', 'MonoSound', 'CustomVolumeControls', 'NarratedGameMenus', 'StereoSound', 'SpatialAudio', 'SteadyCamera', 'ContrastOptions', 'ColorOptions', 'SubtitleOptions', 'AdjustableTextSize', 'AdjustableInputSensitivity', 'BasicInputRemapping', 'TtsSttCommunications', 'InputRemapping', 'PlayableWithButtonsOnly', 'FullKeyboardSupport', 'PlayableWithMouseOnly', 'PlayableWithTouchOnly', 'NoButtonHolds', 'PlayableWithoutMotionControls', 'NoQuickTimeEvents', 'PlayableWithoutTouchControls', 'SingleStickGameplay', 'StickInversion']])<br>`locale` (query str) | `ApiKeyAuth` | `XboxSearchResponse` | |
|
|
3129
3129
|
| xda | `xda.article` | `xda-article` | `GET /xda/article` | `url` (query str required) | `ApiKeyAuth` | `XdaArticleResponse` | |
|
|
3130
3130
|
| xda | `xda.author` | `xda-author` | `GET /xda/author` | `url` (query str required) | `ApiKeyAuth` | `XdaAuthorResponse` | |
|
|
3131
3131
|
| xda | `xda.headlines` | `xda-headlines` | `GET /xda/headlines` | `section` (query Literal['news', 'features', 'reviews', 'buying-guides', 'tutorials', 'editorials', 'editor-columns', 'deals', 'commerce', 'evergreen', 'performance', 'beats', 'awards', 'hardware', 'processor', 'gpu', 'storage', 'monitors', 'input-devices', 'laptops', 'devices', 'single-board-computers', 'gaming-handhelds', 'prebuilt-pc', 'networking', 'smart-home', 'home', 'other-hardware', 'headset', 'cpu-cooler', 'printer', 'home-internet', 'other-computing-devices', 'phone-reviews', '3d-printing', 'esp32', 'home-lab', 'self-hosting', 'software', 'software-and-services', 'apps', 'ai-tools', 'claude', 'notebooklm', 'productivity', 'os', 'windows', 'windows-tutorials', 'linux-hub', 'linux-tutorials', 'macos', 'macos-tutorials', 'chromeos-tutorials', 'microsoft-edge', 'opera', 'spotify', 'bing', 'gaming', 'gaming-news', 'gaming-reviews', 'entertainment', 'entertainment-segment'] required) | `ApiKeyAuth` | `XdaHeadlinesResponse` | |
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "crawlora"
|
|
7
|
-
version = "1.44.0.
|
|
7
|
+
version = "1.44.0.dev2"
|
|
8
8
|
description = "Official Python SDK for the Crawlora web-scraping API: typed grouped and dynamic operation calls for every public endpoint, with retries, pagination, hooks, and an async client."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -285,7 +285,8 @@ class CrawloraClientTest(unittest.TestCase):
|
|
|
285
285
|
self.assertIn("'q': Required[str]", stub)
|
|
286
286
|
self.assertIn("'count': NotRequired[int]", stub)
|
|
287
287
|
self.assertIn("WebEmailVerifyBody = ModelContactVerifyRequest", stub)
|
|
288
|
-
|
|
288
|
+
browse_stub = stub.split("XboxBrowseParams = TypedDict", 1)[1].split("\n\n", 1)[0]
|
|
289
|
+
self.assertIn("'platform': NotRequired[list[str]]", browse_stub)
|
|
289
290
|
self.assertIn("'review_count': NotRequired[int | None]", stub)
|
|
290
291
|
self.assertIn("def search(self, **params: Unpack[BingSearchParams]) -> BingSearchResponse: ...", stub)
|
|
291
292
|
self.assertIn("OperationId = Literal[", stub)
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|