Registry / devops / taskcluster-urls

taskcluster-urls

JSON →
library13.1.0pypypi✓ verified 22d ago

Taskcluster-urls is a Python library that provides a standardized way to generate URLs for various Taskcluster resources, such as tasks, artifacts, and releases. It helps integrate with the Taskcluster ecosystem by providing a consistent API for URL construction. As of version 13.0.2, it's actively maintained, with releases often tied to a monorepo that includes JavaScript and Go implementations, so not all version bumps directly imply Python-specific changes.

pip install taskcluster-urls
INSTALL
IMPORT
SIG · TASKCLUSTER-URLS
T
taskcluster-urls
devopspythonv13.1.0
Install
1.5s avg
Import
Disk
16MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v13.1.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 17.8MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.5s · import 0.000s · 18MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

api
from taskcluster_urls import api
from taskcluster_urls import TaskclusterUrls
normalize_root_url
from taskcluster_urls import normalize_root_url
test_root_url
from taskcluster_urls import test_root_url

This quickstart demonstrates how to initialize `TaskclusterUrls` with a root URL and generate common Taskcluster resource URLs like tasks, artifacts, and release-specific links. It uses an environment variable for the root URL for flexibility.

import os from taskcluster_urls import TaskclusterUrls # Replace with your Taskcluster root URL or set as an environment variable root_url = os.environ.get('TASKCLUSTER_ROOT_URL', 'https://taskcluster.net') try: urls = TaskclusterUrls(root_url) # Example 1: Get a URL for a specific task in the queue task_id = 'my-task-id' run_id = 'my-run-id' queue_task_url = urls.queue.task(task_id, run_id) print(f"Queue Task URL: {queue_task_url}") # Example 2: Get a URL for a specific artifact of a task artifact_path = 'public/logs/live_logs.txt' artifact_url = urls.queue.artifact(task_id, run_id, artifact_path) print(f"Artifact URL: {artifact_url}") # Example 3: Get a URL related to a release release_id = 'my-release-id' release_task_url = urls.release(release_id).task(task_id, run_id) print(f"Release Task URL: {release_task_url}") except ValueError as e: print(f"Error initializing TaskclusterUrls: {e}")
Debug
Known issues
breakingIn v12.0.0, the `servicesManifest` method was renamed to `apiManifest`. Calls to the old method will fail.
fix
Replace `urls.servicesManifest()` with `urls.apiManifest()`.
affects: >=12.0.0
breakingIn v11.0.0, the default `testRootUrl` used within the library changed from `https://tc-tests.localhost` to `https://tc-tests.example.com`. This primarily affects internal testing or any consumer relying on this specific default for test environments.
fix
If you relied on the old `testRootUrl`, update your configuration or test expectations to reflect the new default, or explicitly set your desired root URL.
affects: >=11.0.0
gotchaThe `TaskclusterUrls` constructor requires a valid `rootUrl`. Passing an empty or `None` value will raise a `ValueError`.
fix
Always provide a non-empty string as the `rootUrl` when initializing `TaskclusterUrls`, e.g., `TaskclusterUrls('https://taskcluster.net')`.
affects: >=10.1.1
Upgrade
Version history
13.1.0latest on PyPI · released Aug 26, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
16 hits · last 30 days
node
12
OpenAI (training)
1
Resources
taskcluster-urls — pip install taskcluster-urls · libregistry