Changes
(unreleased)
shub deploynow builds the egg from a copy of the working directory that leaves out anything git considers ignored (e.g. via.gitignore), when run inside a git repository. This keeps build artifacts, local secrets, and stray virtualenvs out of the deploy by default. Uncommitted changes to tracked files, and new untracked files that aren’t gitignored, are still included. Projects that aren’t inside a git repository, or wheregitisn’t available, keep the previous behavior of deploying the working directory as-is.
2.18.1 (2026-07-08)
shub.config.load_shub_config()now also readsSHUB_APIKEYfrom the nearest.envfile, not just theshubCLI. Previously this only worked when invoking theshubcommand.
2.18.0 (2026-06-19)
Load the
SHUB_APIKEYenvironment variable from a.envfile via python-dotenv. Use the new--dotenv-pathoption to pointshubat a file other than the default.env.
2.17.1 (2026-04-21)
Prioritize the SHUB_APIKEY environment variable over the local scrapinghub.yml configuration.
Update references from “Scrapinghub” to “Zyte” in the scheduling documentation.
2.17.0 (2026-04-07)
Drop support for Python 3.9.
Made the documentation more LLM-friendly, with markdown versions of every page and
llms.txtandllms-full.txtfiles.
2.16.0 (2025-11-05)
Drop support for Python 3.6, 3.7 & 3.8.
Add support for Python 3.13 & 3.14.
Fix
shub image uploaddocumentation.Add support for current Poetry versions.
Fix link to get apikey in
shub logincommand.Modernize generated Dockerfile (
shub image initcommand).
2.15.4 (2024-02-08)
Support Docker server 25+.
2.15.3 (2024-01-23)
Fix
shub image deployfailing on Python 3.8 and 3.9.
2.15.2 (2024-01-17)
Add support for Python 3.12.
Remove remnants of Python 2 support.
Start a changelog.