Skip to main content

Shared Scrapy base spider + typed service configuration registry

Project description

scrapyx-core

Shared base spider and typed service configuration utilities for Scrapy projects.

What you get

  • BaseServiceSpider — production-ready base class that:

    • exposes service_config, captcha_needed, site_key
    • collects items/errors, has yield_empty_item()
    • initializes from a typed Service registry (from settings / optional file)
  • ServiceConfig / ServiceRegistry — Pydantic models for strict config.

  • load_registry_from_settings() — merges settings["SERVICES"] with optional JSON file pointed by SCRAPYX_SERVICES_FILE.

  • validators — functions you can call (or wire from an extension) to fail fast in CI/Scrapyd.

Minimal usage

# in your spiders
from scrapyx_core.base import BaseServiceSpider

class InspectionSpider(BaseServiceSpider):
    name = "inspection"
    # use self.service_config / self.captcha_needed / self.site_key

Optionally, set SCRAPYX_SERVICES_FILE=/path/to/services.json to load/merge external config.

This package is middleware-agnostic and pairs well with scrapyx-mw (add-on + middlewares).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scrapyx_core-0.1.0.tar.gz (110.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scrapyx_core-0.1.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file scrapyx_core-0.1.0.tar.gz.

File metadata

  • Download URL: scrapyx_core-0.1.0.tar.gz
  • Upload date:
  • Size: 110.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scrapyx_core-0.1.0.tar.gz
Algorithm Hash digest
SHA256 21cfe7300f4a024ed730408899800b57fbe1478210ed3f0db4621f09b468b70b
MD5 fd00fd78e68d764e4ad27020fcc51c10
BLAKE2b-256 51fafe54a042ff4e3bcc7c9541e975c9a9eb25b8e7343e40356647b81f671b85

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrapyx_core-0.1.0.tar.gz:

Publisher: release.yml on ArmanAvanesyan/scrapyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scrapyx_core-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: scrapyx_core-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for scrapyx_core-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f0dbb66303bb1d8df21cef7e77fe46c4086ad66cdfac82e5b11abdf1c374df1
MD5 67ae81e7ec0322590fff8a924eea0ffb
BLAKE2b-256 92c83104370a08831d810cc06b52d8bfba2bcfa1549f8116ce144f15bdb0d076

See more details on using hashes here.

Provenance

The following attestation bundles were made for scrapyx_core-0.1.0-py3-none-any.whl:

Publisher: release.yml on ArmanAvanesyan/scrapyx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page