Crawlee 1.10.1 made extra_name a required keyword-only argument of crawlee._utils.try_import (apify/crawlee-python#2208), so import apify.scrapy failed for anyone who resolved that release:
TypeError: try_import() missing 1 required keyword-only argument: 'extra_name'
We excluded 1.10.1 in #1136 and Crawlee 1.10.2 restored compatibility (apify/crawlee-python#2247), but our CI never saw it. Tests run only against the Crawlee version pinned in uv.lock, and always with every extra installed (uv sync --all-extras). The SDK imports many crawlee._* internals, so a Crawlee patch release can break it the same way again.
Possible checks:
- Run the unit tests against the latest Crawlee release (or Crawlee master) on a schedule. Running the same job in Crawlee's CI before a release would catch it before users do.
- Run them against the lower bound,
crawlee==1.8.0.
- Run a job without the
scrapy extra: import apify and import apify.scrapy should succeed, and using a Scrapy symbol should raise the install hint.
✍️ Drafted by Claude Code
Crawlee 1.10.1 made
extra_namea required keyword-only argument ofcrawlee._utils.try_import(apify/crawlee-python#2208), soimport apify.scrapyfailed for anyone who resolved that release:We excluded 1.10.1 in #1136 and Crawlee 1.10.2 restored compatibility (apify/crawlee-python#2247), but our CI never saw it. Tests run only against the Crawlee version pinned in
uv.lock, and always with every extra installed (uv sync --all-extras). The SDK imports manycrawlee._*internals, so a Crawlee patch release can break it the same way again.Possible checks:
crawlee==1.8.0.scrapyextra:import apifyandimport apify.scrapyshould succeed, and using a Scrapy symbol should raise the install hint.✍️ Drafted by Claude Code