Skip to main content

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

tasker_py-0.1.7-cp310-abi3-macosx_11_0_arm64.whl (11.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file tasker_py-0.1.7-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tasker_py-0.1.7-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1b7f6b63ef7f57839dec736c8d339bbfff1ba66b2527afa88040be716acc25a
MD5 176df08c16cb28199ce3aaedaa2dfdb0
BLAKE2b-256 d17bdfa8d47044c6cc58f66825430e617df2158fa737d117404ee0b7d35342e7

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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