Skip to main content

docus

An installable pytest plugin that sends test sessions and results to a Docus test recorder service. It uses the pytest11 entry point, so existing test files do not need to change.

Install and run

pip install docus
TEST_RECORDER_URL=https://recorder.example.com pytest

The plugin stays inactive until TEST_RECORDER_URL or --recorder-url is provided. Set TEST_RECORDER_API_TOKEN when the service requires a bearer token. Set TEST_RECORDER_REPO to the canonical Git repository identifier; otherwise the plugin uses GITHUB_REPOSITORY or Git origin. The optional TEST_RECORDER_ACTOR overrides the current user.

Each pytest invocation has a UUID session ID. The client generates one unless TEST_RECORDER_SESSION_ID or --recorder-session-id supplies a UUID. Use a fresh UUID for each distinct run; spooled retries keep the original ID. The service lists sessions by project and shows their individual results.

The plugin records collected tests, test results, pytest phase durations, captured output, Git commit and branch, and a session ID. It sends a batch at session end. If delivery fails, pytest results are unchanged and the batch is saved under .test-recorder/spool. Retry with:

TEST_RECORDER_URL=https://recorder.example.com pydocus-resend

To keep a test identity across a pytest function rename, mark it with @pytest.mark.record_id("logical-name"). Parameter IDs should remain stable. Output and failure fields are capped at 64 KiB each; the batch indicates when truncation occurred.

The Docus service is developed at dooblai/docus. This package only depends on pytest and the Python standard library. Other languages can send the same JSON event format directly to the service.

Build and release to PyPI

  1. Install the package and run python testing_suite_client.py.
  2. Run python -m pip install build twine, python -m build, and python -m twine check dist/* from this repository.
  3. Create a GitHub environment named pypi in dooblai/pydocusclient.
  4. In PyPI, configure a pending trusted publisher for project name docus: owner dooblai, repository pydocusclient, workflow filename release.yml, environment pypi. This must match .github/workflows/release.yml exactly.
  5. Push a version tag such as v0.1.2, then publish a GitHub Release for that tag. The release workflow builds a wheel and source distribution and publishes them using GitHub OIDC. No long lived PyPI API token is needed.
  6. Verify with pip install docus in a fresh environment.

PyPI does not reserve a name when a pending publisher is configured. Check that docus is available immediately before the first release. For later releases, update the version in pyproject.toml and use a new matching GitHub tag. Choose and add a license before public distribution if you intend to grant reuse rights.

See the PyPI trusted publishing guide and Python packaging guide for the current publishing steps.

Metadata

Release files for docus 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for docus 0.1.2
File Size Uploaded Provenance Actions
docus-0.1.2.tar.gz 6.0 kB With provenance Details for docus-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for docus 0.1.2
File Interpreter ABI Platform Actions
docus-0.1.2-py3-none-any.whl Python 3 none any Details for docus-0.1.2-py3-none-any.whl

Total release size: 12.3 kB

Release files / docus-0.1.2.tar.gz

Download URL docus-0.1.2.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4c03352ed2c97b11e185997b63f3998d75ace9cfdb58cec954cee8210e44a4ef
BLAKE2b-256 checksum
How to use checksums
c7e84c30ffd350528ef7d40e007c28f9f6edae370a0ac0f8829b7e46d51c6519
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release files / docus-0.1.2-py3-none-any.whl

Download URL docus-0.1.2-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4b68f72f0670dd1f85a9f24a929803ccef0638802ba24e5d878ca802da97757
BLAKE2b-256 checksum
How to use checksums
5e9986a8431040ffec1ca4d7c19a2df12ad35913f281da9f43da21c065906298
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Security for docus 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for docus-0.1.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files Full provenance

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