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.1.0.tar.gz (23.8 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.1.0-py3-none-any.whl (33.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for yscope_spider_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e7da1a928aacf717d9c97ed5a19da521e25288fb48ceb04b632de1574693296f
MD5 c5847707770eefa587a79e52229a8a4b
BLAKE2b-256 8220fc1170d5109639a466cb776bb8b78478d6ee6d61ccfb2021224e1349485a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yscope_spider_py-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a095de44ed957b3e365e0ee0ccb0622d5a5d10b2a2fec5d4a239cd5530e017ae
MD5 b2f08ffe82f6e7618ac5b022f9a3c448
BLAKE2b-256 d92d5945cd02f57b2b54d6e09f54fb3b9f0c33441ba02cbfdfc97390c1182286

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