skillfed

buildkite-test-collector

Buildkite Test Engine collector

buildkite-test-collector v1.8.0 902.2K downloads/30d#4,771 on PyPI10
Permissive license MIT Active released

What it is and what it does

Buildkite Test Collector is a pytest plugin that instruments your test runs and sends execution data to Buildkite Test Engine. It acts as the official Python adapter for the Buildkite platform, capturing test metadata and optionally tracing slow operations (HTTP calls, database queries, sleep intervals, and custom annotations) to help you identify performance bottlenecks and flaky tests.

The package integrates with pytest through a plugin mechanism and works across multiple CI systems—Buildkite, GitHub Actions, CircleCI, and others—via environment variables. You mark tests with execution tags, filter runs by those tags, and optionally instrument code to capture span data; the collector then transmits everything to your Test Engine dashboard. Span capture is currently manual (unlike the Ruby collector), so you write your own instrumentation or use the provided SpanCollector fixture.

Use it for:

  • Monitor test performance and identify slow tests in your CI pipeline by collecting execution spans.
  • Filter and run subsets of tests by execution tags (e.g., run only 'color:red' tests) for faster feedback loops.
  • Centralize test analytics across multiple CI systems using a single Buildkite Test Engine dashboard.
  • Trace HTTP requests, database queries, and sleep calls within tests to diagnose performance issues.
  • Integrate test results into Buildkite's platform for historical analysis and trend detection.

Worth the install?

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

Collects test execution data from pytest and sends it to Buildkite Test Engine for analysis, supporting test filtering by tags and optional span tracing for performance insights.

Yes, if you use pytest and Buildkite Test Engine. The package is actively maintained, has low install friction, carries a permissive MIT license, and no known vulnerabilities. It requires Python >=3.10 and an API token from Buildkite, but once configured it integrates transparently. Span tracing is powerful but requires manual instrumentation; if you only need basic test collection and filtering, this is a straightforward addition to your CI workflow.

Install

buildkite-test-collector on PyPI

pip

pip install buildkite-test-collector

uv

uv add buildkite-test-collector

poetry

poetry add buildkite-test-collector

Installing buildkite-test-collector

Before you install

Low friction install with four common runtime dependencies. Actively maintained with a release 4 days ago; repo is not archived and receives regular commits.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.

Quickstart

pip install buildkite-test-collector

import pytest

@pytest.mark.execution_tag("color", "red")
def test_example():
    assert True

# Set BUILDKITE_ANALYTICS_TOKEN env var, then run:
# pytest --tag-filters "color:red"

Requires Python >=3.10 and BUILDKITE_ANALYTICS_TOKEN environment variable set in your CI system.

Verify before relying

  • Whether automatic span capture (http, sql, sleep) is planned or requires manual instrumentation for all use cases
  • Support for test frameworks beyond pytest
  • Performance overhead when collecting and transmitting test data at scale

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 4 — filelock, pytest, requests, urllib3
Maintenance actively maintained — 4 days since the last release
Last repo commit
First released
Downloads 902,203/month — #4,771 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: buildkite_test_collector-1.8.0-py3-none-any.whl

Framework :: PytestLicense :: OSI Approved :: MIT License

Tags

pytest test collection buildkitetest analytics ci integrationbuildkite test engine adapterpytest span tracingtest execution monitoring
ci-integrationtest-analyticsperformance-tracing

More Testing packages

pluggy

Pluggy provides a plugin system that lets you…

permissive · top 100 on PyPI

pytest

pytest is a testing framework that lets you…

permissive · top 100 on PyPI

virtualenv

virtualenv creates isolated Python environments…

permissive · top 100 on PyPI

coverage

Coverage.py measures which lines of Python code…

permissive · top 1,000 on PyPI

pytest-asyncio

pytest-asyncio is a pytest plugin that enables…

permissive · top 1,000 on PyPI

pytest-json-ctrf

A pytest plugin that generates test reports in…

permissive · top 1,000 on PyPI

pytest-opentelemetry

A pytest plugin that instruments test runs with…

permissive · top 5,000 on PyPI

buildkite-sdk

A Python SDK for interacting with Buildkite's…

unclear · top 15,000 on PyPI

pybuildkite

A Python client library for the Buildkite API…

permissive · top 15,000 on PyPI

pytest-harvest

pytest-harvest captures and stores data…

permissive · top 15,000 on PyPI

nv-one-logger-core

Provides core telemetry abstractions (spans,…

permissive · top 15,000 on PyPI

opentelemetry-instrumentation-sklearn

Adds distributed tracing instrumentation to…

permissive · top 15,000 on PyPI

pytest-sentry

A pytest plugin that sends test failure and…

permissive · top 15,000 on PyPI

rtest

A Python test runner built in Rust that uses…

permissive · top 15,000 on PyPI

openinference-instrumentation-llama-index

Auto-instruments LlamaIndex applications to…

permissive · top 15,000 on PyPI

openinference-instrumentation-google-genai

Automatically instruments Google GenAI SDK…

permissive · top 15,000 on PyPI