skillfed

taskcluster

Python client for Taskcluster

taskcluster v105.0.0 987.9K downloads/30d#4,570 on PyPI430
Copyleft license MPL-2.0 Active released

What it is and what it does

Taskcluster is a Python client library that wraps the Taskcluster API, a distributed task execution and scheduling platform. It provides both synchronous (taskcluster.*) and asynchronous (taskcluster.aio.*) client classes for each Taskcluster service—Queue, Auth, Index, Secrets, and others—allowing you to create tasks, manage credentials, and interact with the platform programmatically.

The library handles authentication via Hawk protocol (through the mohawk dependency), credential generation and temporary credential creation, timestamp handling for task expiration and deadlines, and URL generation for both public and signed API endpoints. It reads standard Taskcluster environment variables automatically and supports scoped authorization, making it suitable for both standalone scripts and tasks running within a Taskcluster deployment.

Use it for:

  • Submitting and monitoring tasks to a Taskcluster queue from a CI/CD pipeline or build orchestration system.
  • Generating temporary credentials with limited scopes for third-party services or delegated task execution.
  • Building task scheduling and workflow automation tools that interact with Taskcluster's task graph and queue APIs.
  • Querying task history, logs, and status from the Index and Queue services in monitoring or reporting applications.
  • Creating signed URLs for secure API access without embedding long-lived credentials in client code.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A complete Python client library for Taskcluster that provides both synchronous and asynchronous interfaces to all Taskcluster API methods, including authentication, credential generation, and URL building.

Yes. The package is actively maintained, has no known vulnerabilities, supports current Python versions (3.9–3.14), and is widely used (top 5000 PyPI). The MPL-2.0 copyleft license is standard for Mozilla projects and poses no barrier to internal or open-source use. Install it if you need to interact with a Taskcluster deployment from Python.

Install

taskcluster on PyPI

pip

pip install taskcluster

uv

uv add taskcluster

poetry

poetry add taskcluster

Installing taskcluster

Before you install

Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent release and no known vulnerabilities. It depends on common, well-established libraries like aiohttp, requests, and python-dateutil.

License in practice

Licensed under MPL-2.0 (copyleft). You must disclose source code modifications and distribute under the same license if you modify and redistribute the package, though internal use does not trigger these obligations.

Quickstart

import taskcluster

# Create a client with environment-based configuration
queue = taskcluster.Queue(taskcluster.optionsFromEnvironment())

# Or with explicit credentials
index = taskcluster.Index({
    "rootUrl": "https://tc.example.com",
    "credentials": {"clientId": "id", "accessToken": "token"}
})

# For async usage
import taskcluster.aio
queue_async = taskcluster.aio.Queue(taskcluster.optionsFromEnvironment())

Requires Python 3.9 or later. Taskcluster deployment URL (rootUrl) is required; credentials are optional depending on API method authentication requirements.

Verify before relying

  • Whether the library handles automatic credential refresh or expiration management for long-running applications.
  • Performance characteristics and rate-limiting behavior when making high-volume API requests.
  • Compatibility and behavior differences between sync and async variants beyond the calling convention.

Package facts

License MPL-2.0 (copyleft)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 7 — aiohttp, async-timeout, mohawk, python-dateutil, requests, slugid, taskcluster-urls
Maintenance actively maintained — 1 days since the last release
Last repo commit
First released
Downloads 987,895/month — #4,570 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: taskcluster-105.0.0-py3-none-any.whl

Keywords: api, client, taskcluster

Intended Audience :: DevelopersLicense :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python Modules

Tags

taskcluster api clientasync taskcluster pythontaskcluster queue authtaskcluster credentialstaskcluster synchronous clienttaskcluster task managementtaskcluster http api wrapper
task-schedulingdistributed-computingasync-support

More Python Modules packages