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
- Task >= 3.40.0
- uv >= 0.7.0
- MariaDB C Connector >= 3.3.1
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
267fce65b3ab997d311cccc1d779a4176b908ef15afebd2c0189b5a34158d229
|
|
| MD5 |
c7080a96d3d2ff14e2bb09c947eda214
|
|
| BLAKE2b-256 |
2cc770aee0d7736a17705fc73a26aff88e89624964cc380d718106c956afc388
|
File details
Details for the file yscope_spider_py-0.2.1-py3-none-any.whl.
File metadata
- Download URL: yscope_spider_py-0.2.1-py3-none-any.whl
- Upload date:
- Size: 34.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f18a9f0a6fc107d7c6e1ba054cb4246d69c813fdae0f52ca2bb6cc1390bbb1d2
|
|
| MD5 |
23b1a00694bb7338c7dc64da2187461f
|
|
| BLAKE2b-256 |
cf0fead6cabcd60126e4bfaa668f418e1cbb1c1825d70f6c3e391d84469d6fad
|