Skip to main content

A distributed task execution framework.

Project description

spider-py

This project is a Python package that provides access to Spider, a distributed task execution framework, enabling seamless integration and task management in Python applications.

Building/Packing

To manually build a package for distribution, follow the steps below.

Requirements

Build Commands

  • Build a Python wheel:
task build:spider-py

The command above will generate both a .tar.gz and a .whl package in the build/spider-py directory at the Spider project root.

Testing

Unit tests are divided into two categories: storage and non-storage tests. Non-storage tests do not require any external services, while storage tests require a MariaDB instance to be available.

Non-Storage Unit Tests

To run all non-storage unit tests:

task test:spider-py-non-storage-unit-tests

Setup MariaDB for Storage Unit Tests

To run storage unit tests, we need to create a MariaDB instance first.

docker run \
        --detach \
        --rm \
        --name spider-storage \
        --env MARIADB_USER=spider \
        --env MARIADB_PASSWORD=password \
        --env MARIADB_DATABASE=spider-storage \
        --env MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=true \
        --publish 3306:3306 mariadb:latest

After the docker container starts, set up the database table manually by using the SQL script tools/scripts/storage/init_db.sql from the project root.

mysql -h 127.0.0.1 -u spider -ppassword spider-storage < tools/scripts/storage/init_db.sql

Storage Unit Tests

To run all storage unit tests:

task test:spider-py-storage-unit-tests

This requires a running MariaDB instance as described above.

All Unit Tests

To run all unit tests (both storage and non-storage):

task test:spider-py-unit-tests

This requires a running MariaDB instance as described above.

Linting

To run all linting checks:

task lint:spider-py-check

To run all linting checks AND automatically fix any fixable issues:

task lint:spider-py-fix

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

yscope_spider_py-0.2.1.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

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

yscope_spider_py-0.2.1-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

File details

Details for the file yscope_spider_py-0.2.1.tar.gz.

File metadata

  • Download URL: yscope_spider_py-0.2.1.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.2

File hashes

Hashes for yscope_spider_py-0.2.1.tar.gz
Algorithm Hash digest
SHA256 267fce65b3ab997d311cccc1d779a4176b908ef15afebd2c0189b5a34158d229
MD5 c7080a96d3d2ff14e2bb09c947eda214
BLAKE2b-256 2cc770aee0d7736a17705fc73a26aff88e89624964cc380d718106c956afc388

See more details on using hashes here.

File details

Details for the file yscope_spider_py-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for yscope_spider_py-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f18a9f0a6fc107d7c6e1ba054cb4246d69c813fdae0f52ca2bb6cc1390bbb1d2
MD5 23b1a00694bb7338c7dc64da2187461f
BLAKE2b-256 cf0fead6cabcd60126e4bfaa668f418e1cbb1c1825d70f6c3e391d84469d6fad

See more details on using hashes here.

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