Skip to main content
Task Status Code Coverage CodSpeed Performance Pypi Version Documentation Status License

Taskgraph

Taskgraph is a Python library to generate graphs of tasks for the Taskcluster CI service. It is the recommended approach for configuring tasks once your project outgrows a single .taskcluster.yml file and is what powers the over 30,000 tasks and counting that make up Firefox’s CI.

For more information and usage instructions, see the docs.

How It Works

Taskgraph leverages the fact that Taskcluster is a generic task execution platform. This means that tasks can be scheduled via its comprehensive API, and aren’t limited to being triggered in response to supported events.

Taskgraph leverages this execution platform to allow CI systems to scale to any size or complexity.

  1. A decision task is created via Taskcluster’s normal .taskcluster.yml file. This task invokes taskgraph.

  2. Taskgraph evaluates a series of yaml based task definitions (similar to those other CI offerings provide).

  3. Taskgraph applies transforms on top of these task definitions. Transforms are Python functions that can programmatically alter or even clone a task definition.

  4. Taskgraph applies some optional optimization logic to remove unnecessary tasks.

  5. Taskgraph submits the resulting task graph to Taskcluster via its API.

Taskgraph’s combination of declarative task configuration combined with programmatic alteration are what allow it to support CI systems of any scale. Taskgraph is the library that powers the 30,000+ tasks making up Firefox’s CI.

Installation

Taskgraph supports Python 3.8 and up, and can be installed from Pypi:

pip install taskcluster-taskgraph

Alternatively, the repo can be cloned and installed directly:

git clone https://github.com/taskcluster/taskgraph
cd taskgraph
pip install .

In both cases, it’s recommended to use a Python virtual environment.

Get Involved

If you’d like to get involved, please see our contributing docs!

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taskcluster_taskgraph-24.2.3.tar.gz (615.2 kB view details)

Uploaded Source

Built Distribution

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

taskcluster_taskgraph-24.2.3-py3-none-any.whl (212.6 kB view details)

Uploaded Python 3

File details

Details for the file taskcluster_taskgraph-24.2.3.tar.gz.

File metadata

  • Download URL: taskcluster_taskgraph-24.2.3.tar.gz
  • Upload date:
  • Size: 615.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for taskcluster_taskgraph-24.2.3.tar.gz
Algorithm Hash digest
SHA256 80017dc5fcd98bdd0fa4357cd3fcabd6719447c029f3ee569e1c830a527bec56
MD5 52f37bcae44ebed3b5f2b33788ed8bc7
BLAKE2b-256 0792959638aef0425162c39bdf70506c960ae3e0ef5ed83ca057df34e7a70f1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for taskcluster_taskgraph-24.2.3.tar.gz:

Publisher: pypi-publish.yml on taskcluster/taskgraph

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

File details

Details for the file taskcluster_taskgraph-24.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for taskcluster_taskgraph-24.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e2af9e09395c34bba456cf26e3952822f359922bc75f696ba7948269b47e3289
MD5 a9f7b627180aa2c6afb2b4b505342be8
BLAKE2b-256 8e99f226059d28c74691991eb9bfbebd749d2c952b9edbf0d33f4f6f2864bec9

See more details on using hashes here.

Provenance

The following attestation bundles were made for taskcluster_taskgraph-24.2.3-py3-none-any.whl:

Publisher: pypi-publish.yml on taskcluster/taskgraph

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

Release history Release notifications | RSS feed

This release

24.2.3 This release

2 files

24.2.2

2 files

24.2.1

2 files

24.2.0

2 files

24.1.1

2 files

24.1.0

2 files

24.0.0

2 files

23.2.0

2 files

23.1.0

2 files

23.0.0

2 files

22.0.0

2 files

21.0.0

2 files

20.0.0

2 files

19.2.1

2 files

19.2.0

2 files

19.1.0

2 files

19.0.0

2 files

18.1.0

2 files

18.0.3

2 files

18.0.1

2 files

18.0.0

2 files

17.3.0

2 files

17.2.1

2 files

17.2.0

2 files

17.1.0

2 files

17.0.0

2 files

16.2.1

2 files

16.2.0

2 files

16.1.1

2 files

16.1.0

2 files

16.0.0

2 files

15.4.0

2 files

15.3.0

2 files

15.2.1

2 files

15.2.0

2 files

15.1.4

2 files

15.1.3

2 files

15.1.2

2 files

15.1.1

2 files

15.1.0

2 files

15.0.1

2 files

15.0.0

2 files

14.6.1

2 files

14.6.0

2 files

14.5.0

2 files

14.4.1

2 files

14.4.0

2 files

14.3.0

2 files

14.2.1

2 files

14.2.0

2 files

14.1.1

2 files

14.1.0

2 files

14.0.0

2 files

13.1.0

2 files

13.0.0

2 files

12.2.0

2 files

12.1.0

2 files

12.0.0

2 files

11.2.4

2 files

11.2.3

2 files

11.2.2

2 files

11.2.1

2 files

11.2.0

2 files

11.1.0

2 files

11.0.0

2 files

10.0.2

2 files

10.0.1

2 files

10.0.0

2 files

9.2.1

2 files

9.2.0

2 files

9.1.0

2 files

9.0.0

2 files

8.2.0

2 files

8.1.0

2 files

8.0.1

2 files

8.0.0

2 files

7.4.0

2 files

7.3.1

2 files

7.3.0

2 files

7.2.1

2 files

7.2.0

2 files

7.1.2

2 files

7.1.1

2 files

7.1.0

2 files

7.0.3

2 files

7.0.2

2 files

7.0.1

2 files

7.0.0

2 files

6.3.1

2 files

6.3.0

2 files

6.2.1

2 files

6.2.0

2 files

6.1.0

2 files

6.0.0

2 files

5.7.0

2 files

5.6.2

2 files

5.6.1

2 files

5.6.0

2 files

5.5.0

2 files

5.4.0

2 files

5.3.0

2 files

5.2.1

2 files

5.2.0

2 files

5.1.1

2 files

5.1.0

2 files

5.0.1

2 files

5.0.0

2 files

4.3.0

2 files

4.2.0

2 files

4.1.1

2 files

4.1.0

2 files

4.0.0

2 files

3.7.0

2 files

3.6.0

2 files

3.5.2

2 files

3.5.1

2 files

3.5.0

2 files

3.4.0

2 files

3.3.0

2 files

3.2.1

2 files

3.2.0

2 files

3.1.0

2 files

3.0.1

2 files

3.0.0

2 files

2.0.0

2 files

1.7.1

2 files

1.7.0

2 files

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

1.4.0

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.1.7

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page