v0.3.1 #7
svdC1
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Added
10 new supported plugins —
google/youtube,chatgpt/chat,shein,trip/search,trip/detail,google/play-store,google/play-store/product,google/play-store/reviews,google/shopping/product,google/shopping/product/stores. Each ships a typed*Parametersmodel and a matching*AsyncPluginadapter. Sync params for YouTube, the Play Store family, and the Shopping Product family live underscrape_do.plugins.google; ChatGPT gets its ownscrape_do.plugins.chatgptsub-package. Shein and Trip.com are async-only (no per-endpoint sync docs page exists) so their params models live alongside the adapters inscrape_do.async_api.models.plugins.additional. All new*AsyncPluginadapters participate in theAsyncPlugindiscriminated union.Async adapters for promoted endpoints —
GoogleTrendingAsyncPluginandGoogleHotelsDetailAsyncPluginjoin the discriminated union now that Scrape.do exposes these endpoints through the Async API.GoogleSearchAiOverviewAsyncParameters+GoogleSearchAiOverviewAsyncPlugin— async-sideq-driver shape for thegoogle/search/ai-overviewplugin. The plugin handles both fetch hops internally over the Async API. The existing session-key-basedGoogleSearchAiOverviewParameterscontinues to be the sync follow-up form for the SERPstate: "deferred"flow, and both shapes now coexist. The new adapter participates in theAsyncPlugindiscriminated union.New public literal type aliases under
scrape_do.plugins.google—GoogleTrendsRegionType(regional-interest resolution for Trends), andGoogleTrendingHoursType/GoogleTrendingSortType/GoogleTrendingStatusTypefor the now-typed Trending model.GoogleTrendsDataTypegains"GEO_MAP"alongside the existing"GEO_MAP_0". Plus new Play Store / Shopping Product literal enums:GooglePlayStoreChartType,GooglePlayStoreDeviceType,GooglePlayStoreAgeType,GoogleShoppingProductSortByType,GoogleShoppingProductDeviceType.TripCabinClassTypeis published under the async-only additional module.Changed
GoogleSearchAiModeParametersis now a strict subset of SERP. The model no longer carriesstart,cr,lr,time_period,filter,nfpr, ornum; AI Mode is documented as a standalone endpoint whose engine rejects those fields with400. Breaking change for callers that constructed the model with any of them.GoogleSearchParameters.numremoved — the current per-endpoint SERP docs no longer list it. Breaking change for callers that relied on it being a typed attribute.GoogleTrendsParametersgainstz(timezone offset minutes from UTC, default420server-side) andregion(geographic resolution forGEO_MAP/GEO_MAP_0widgets).GoogleTrendingParametersrewritten with a typed schema —geois now required and the previously-permissiveextra="allow"shell is replaced with explicithl/hours/cat/sort/statusfields backed by literal enums. The "sync-only" warning is dropped — the endpoint is now part of the Async API plugin table.GoogleHotelsDetailParameterssync-only marker dropped — Scrape.do promoted the endpoint to the Async API. Field shape is unchanged.WalmartStoreParameters/LowesStoreParametersnow enforce the documented schema fromScrape.do'sasync-api/plugins page instead of accepting arbitrary extras viaextra="allow". Walmart requiresurl(walmart.com domain) and treatszipcode+storeidas a conditional pair (both or neither). Lowes requiresurl(lowes.com domain) plus digit-onlyzipcodeandstoreid. Both pick up the gateway-sidedisableretry/transparentresponse/timeoutknobs. Breaking change for callers passing undocumented extras through the previous schema-free passthrough.Internal
Integration suite standardized around three test categories — content-dependent tests retry on transient Scrape.do gateway failures, shape-dependent tests assert only that the request wasn't rejected (HTTP 400), and error-routing tests are unchanged.
Re-introduced
google/trendsandlowes/storeinto the live plugin sweep now that the pass criterion tolerates upstream / engine-side transient failures.Plugin integration tests extended with the new endpoints —
google/youtube,chatgpt/chat,shein,trip/search,google/play-store,google/shopping/product,google/trending, plus the promotedgoogle/hotels/detailadapter all participate in the parametrized sweep. The shared case list was moved totests/integration/async_api/conftest.py::_plugin_casesso bothtest_client.pyandtest_async_client.pyconsume the same definitions instead of duplicating them.New unit-test coverage for every new model — happy-path construction + cross-field rule tests for
GoogleYouTubeParameters,ChatGPTChatParameters,SheinParameters,TripSearchParameters,TripDetailParameters, the Play Store family, and the Shopping Product family. The sharedAsyncPlugindiscriminated-union test parametrizes all 13 new adapter keys, andtest_google.py/test_chatgpt.pycover each new*AsyncPluginadapter's defaultkeyliteral +min_length=1enforcement.The
GoogleSearchAiOverviewAsyncPluginintegration test is omitted for now because the gateway hasn't updated to reflect the documentation changes about thegoogle/search/ai-overviewasync endpoint, so requests still require the sync-onlysession_keyparameter.v0.3.0...v0.3.1This discussion was created from the release v0.3.1.
Beta Was this translation helpful? Give feedback.
All reactions