taskcluster-taskgraph
Build taskcluster taskgraphs
Decision gist · record as of 2026-08-14
Yes, if you are using Taskcluster and need to manage CI beyond a single configuration file. The library is production-stable, actively maintained, has no known vulnerabilities, and is proven at scale in Firefox's CI. The copyleft license (MPL 2.0) is a consideration only if you plan to distribute modified versions. Install friction is low.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Taskgraph is designed to run as a decision task within Taskcluster; standalone use requires a Taskcluster instance and appropriate API credentials.
- Low install friction with a pure-Python wheel.
License · maintenance · safety
copyleft license (copyleft) — Licensed under Mozilla Public License 2.0 (MPL 2.0), a copyleft license. You must disclose source code modifications if you distribute the package, though internal use has no restrictions.
last release 2026-07-29 (16 days) · last repo commit 2026-08-05 · 24 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 880,789 downloads/mo, #4,821 on PyPI
Alternatives
Verify before relying
pip install taskcluster-taskgraph
from taskgraph import generate
task_graph = generate.generate_graph()- Whether the package can be used outside a Taskcluster environment for local task graph generation and testing.
- Performance characteristics and scalability limits for task graphs beyond Firefox's 30,000+ task scale.
- Detailed API stability guarantees across minor version releases.
What it is and what it does
Taskgraph is a Python library that generates and submits task graphs to Taskcluster, a generic task execution platform. It bridges declarative YAML-based task definitions with programmatic Python transforms, allowing CI systems to scale from simple configurations to complex, large-scale pipelines. The library powers Firefox's CI, which runs over 30,000 tasks.
The workflow is straightforward: a decision task invokes taskgraph, which reads YAML task definitions, applies Python-based transforms to alter or clone tasks, optionally removes unnecessary tasks through optimization, and submits the resulting graph to Taskcluster via its API. This combination of declarative configuration and programmatic control is what enables taskgraph to handle CI systems of any complexity.
Use it for
- Scaling CI from a single .taskcluster.yml file to a multi-thousand-task pipeline with programmatic task generation.
- Applying conditional logic and transforms to task definitions based on repository state, branch, or commit metadata.
- Optimizing task graphs by removing redundant or skipped tasks before submission to reduce CI costs.
- Managing complex Firefox-like CI systems with tens of thousands of interdependent tasks.
- Automating task cloning and parameterization across multiple platforms, architectures, or test suites.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are using Taskcluster and need to manage CI beyond a single configuration file.
The library is production-stable, actively maintained, has no known vulnerabilities, and is proven at scale in Firefox's CI. The copyleft license (MPL 2.0) is a consideration only if you plan to distribute modified versions. Install friction is low.
Install
taskcluster-taskgraph on PyPI
Before you install
Low install friction with a pure-Python wheel. Actively maintained with a recent release (16 days old) and an active repository. Requires Python 3.9 or later.
Requires Python 3.9 or later. Taskgraph is designed to run as a decision task within Taskcluster; standalone use requires a Taskcluster instance and appropriate API credentials.
License in practice
Licensed under Mozilla Public License 2.0 (MPL 2.0), a copyleft license. You must disclose source code modifications if you distribute the package, though internal use has no restrictions.
Quickstart
pip install taskcluster-taskgraph
from taskgraph import generate
task_graph = generate.generate_graph()
Verify before relying
- Whether the package can be used outside a Taskcluster environment for local task graph generation and testing.
- Performance characteristics and scalability limits for task graphs beyond Firefox's 30,000+ task scale.
- Detailed API stability guarantees across minor version releases.
Package facts
| License | copyleft license copyleft |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 12 packagesappdirscookiecutterjson-emozilla-repo-urlsmsgspecpyyamlredorequestsslugidtaskcluster-urlstaskclustervoluptuous |
| Maintenance | Actively maintained 16 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 880,789 / month, #4,821 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleLicense :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)Programming 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 |
Evidence: taskcluster_taskgraph-24.2.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “CI task graph builder”
- taskcluster-taskgraphTaskgraph generates and submits task graphs to Taskcluster CI by…
- kfpKubeflow Pipelines is a Python SDK for defining, deploying, and…
- shrub.pyProgrammatically generate Evergreen project configurations in JSON…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also mozilla-taskgraph · taskcluster · taskcluster-urls · taskflow · fuzzfetch · langgraph-supervisor · gcloud-rest-taskqueue · gcloud-aio-taskqueue · graphiti-core · shrub.py