Python worker for Tasker workflow orchestration
Project description
tasker-py
Python worker bindings for the Tasker workflow orchestration system.
Status
Production ready. Python worker bindings provide full step handler execution via PyO3 FFI.
Installation
From Source (Development)
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment and sync dependencies
uv venv
source .venv/bin/activate
uv sync --dev
# Build and install the Rust extension
uv run maturin develop
From PyPI (when published)
pip install tasker-py
Quick Start
import tasker_core
# Check version
print(tasker_core.version())
# Verify FFI is working
assert tasker_core.health_check()
Development
Prerequisites
- Python 3.10+
- Rust 1.70+
- uv (recommended) or pip
Setup
# Create virtual environment
uv venv
source .venv/bin/activate
# Sync all dependencies (including dev)
uv sync --dev
# Build and install in development mode
uv run maturin develop
# Run tests
uv run pytest
# Run linting
uv run ruff check .
uv run mypy python/
Building Wheels
# Build wheel for current platform
maturin build --release
# Build with all features
maturin build --release --all-features
Project Structure
crates/tasker-py/
├── src/ # Rust FFI source
│ └── lib.rs # PyO3 module initialization
├── python/ # Python source (maturin src layout)
│ └── tasker_core/
│ ├── __init__.py # Package init, re-exports FFI
│ └── py.typed # PEP 561 marker
├── tests/ # pytest tests
│ ├── conftest.py
│ └── test_import.py
├── Cargo.toml # Rust crate configuration
├── pyproject.toml # Python project configuration
└── README.md
Technology Stack
- FFI Layer: PyO3
- Build Tool: maturin
- Package Manager: uv
- Testing: pytest
- Data Models: Pydantic v2 (future phases)
- Event Bus: pyee (future phases)
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 tasker_py-0.1.7-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: tasker_py-0.1.7-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 11.2 MB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1b7f6b63ef7f57839dec736c8d339bbfff1ba66b2527afa88040be716acc25a
|
|
| MD5 |
176df08c16cb28199ce3aaedaa2dfdb0
|
|
| BLAKE2b-256 |
d17bdfa8d47044c6cc58f66825430e617df2158fa737d117404ee0b7d35342e7
|
Provenance
The following attestation bundles were made for tasker_py-0.1.7-cp310-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yml on tasker-systems/tasker-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tasker_py-0.1.7-cp310-abi3-macosx_11_0_arm64.whl -
Subject digest:
c1b7f6b63ef7f57839dec736c8d339bbfff1ba66b2527afa88040be716acc25a - Sigstore transparency entry: 1112798115
- Sigstore integration time:
-
Permalink:
tasker-systems/tasker-core@da180bc39853f276ea2ccc96281a3d9c14d6af38 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/tasker-systems
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@da180bc39853f276ea2ccc96281a3d9c14d6af38 -
Trigger Event:
workflow_dispatch
-
Statement type: