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.0.tar.gz (25.6 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.0-py3-none-any.whl (34.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for yscope_spider_py-0.2.0.tar.gz
Algorithm Hash digest
SHA256 43c819ad4e0a135e3ae63ca55d849b6b3015bcf9b982c337d5cf10ea07b4e947
MD5 f4812a9d3f914eb53cdb9da1bd93c8e4
BLAKE2b-256 2b1d4ff0569fc95f6210a4bff258bf070f09b39a6eb60e6772d3dad3f7eb9279

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for yscope_spider_py-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a5d1e1c2182e81321cc3482bcca5b46998922c6d5ccfc5bbd1cc6326388435d0
MD5 c4264d2331e5737100e5d99f757a7523
BLAKE2b-256 ebac9eb7fa22ac02641faf57532e44326c471840ebf125270cb4bfad0968f534

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