Skip to content

Modernize#468

Open
Gallaecio wants to merge 39 commits intomasterfrom
modernize
Open

Modernize#468
Gallaecio wants to merge 39 commits intomasterfrom
modernize

Conversation

@Gallaecio
Copy link
Member

@Gallaecio Gallaecio commented Feb 13, 2026

Closes #467.

Changes include:

  • Releases now happen on tag pushing through trusted publishing.
  • CI runs on any PR, regardless of its target branch.
  • CI jobs stop if 1 fails.
  • Dropped support for Python 3.8 and 3.9, added support for 3.13 and 3.14.
  • Tests now run with and without the monitoring extra. The extra is only run with minimum and latest versions of dependencies.
  • There are now CI jobs to run with minimum versions of dependencies.
  • Switch to pre-commit config from Scrapy, including black → ruff.
  • Doc link fixes.

Things I considered but did not implement:

  • I thought about making Scrapy a hard dependency. I am confused about spidermon not depending on scrapy unless installed with monitoring.

@Gallaecio Gallaecio marked this pull request as ready for review February 17, 2026 15:28
@Gallaecio Gallaecio requested review from VMRuiz, Copilot and wRAR February 17, 2026 15:28
@Gallaecio Gallaecio marked this pull request as draft February 17, 2026 15:33
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This is a comprehensive modernization PR that updates the spidermon project infrastructure and codebase. The changes include:

Changes:

  • Migration from setup.py to pyproject.toml with modern build backend (hatchling)
  • Dropped Python 3.8/3.9 support, added Python 3.13/3.14 support, minimum now Python 3.10
  • Extensive code modernization: type hints, f-strings, pathlib, modern Python idioms
  • CI/CD updates: ubuntu-latest, updated action versions, new tox environments for mypy and docs
  • Test infrastructure improvements: pytest-importorskip usage, async test support, better fixtures
  • Documentation updates: restructured docs directory, updated links, fixed references

Reviewed changes

Copilot reviewed 174 out of 194 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pyproject.toml New: Modern project configuration with hatchling, ruff linting, mypy, coverage settings
setup.py, setup.cfg, .bumpversion.cfg, MANIFEST.in Removed: Legacy packaging files
tox.ini Modernized: Added mypy/docs environments, updated Python versions, improved test configuration
.github/workflows/* Updated: CI workflow modernization, new publish workflow with trusted publishing
.pre-commit-config.yaml Updated: Replaced black with ruff, added additional hooks
spidermon/**/*.py Modernized: Type hints, f-strings, pathlib, ClassVar, improved error handling
tests/**/*.py Improved: pytest.importorskip for optional dependencies, async support, better fixtures
docs/** Updated: Fixed broken links, restructured directory, updated sphinx configuration
to-do.txt Removed: Obsolete TODO file
examples/** Modernized: Type hints and modern Python syntax

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Gallaecio Gallaecio marked this pull request as ready for review February 17, 2026 16:47
| ``premailer >= 2.7.0``
| ``requests >= 2.19.0``
| ``scrapinghub >= 2.4.0``
| ``scrapinghub-entrypoint-scrapy >= 0.11.2``
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

huh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants