Skip to main content

pytest-pystack

CI PyPI - Python Version PyPI PyPI - Downloads Code Style

A pytest plug-in for easy integration of PyStack in your test suite.

It can be used to automatically dump the stack trace of a hanging test in your suite (with exception to test using pytester fixture).

See PyStack for further information about the tool.

Installation

To install the PyStack pytest plug-in, just run the following command in your venv:

python -m pip install pytest-pystack

Quick Start

After you have installed the pytest plug-in, you can have PyStack monitor your test suite and output a stack trace if a test takes more than 5 seconds, simply by running pytest with argument --pystack-threshold=5.

Configuration

The PyStack plug-in can be configured via the command line with the following options:

  • --pystack-threshold: Enables the plug-in and monitors all tests, generating a stack trace if they take longer than the specified threshold. Note, this neither stops nor fails the test case after the specified threshold.
  • --pystack-output-file: Appends PyStack output to a file.
  • --pystack-path: Path to the pystack executable.
  • --pystack-args: Additional args to pass to pystack remote <pid>, like --native or --native-all.

And through any pytest config file, see an example of pyproject.toml:

[tool.pytest.ini_options]
pystack_threshold=60
pystack_path="custom-version-of-pystack"
pystack_output_file="./pystack.log"
pystack_args="--native"

License

This project is Apache-2.0 licensed, as found in the LICENSE file.

Code of Conduct

This project has adopted a Code of Conduct. If you have any concerns about the Code, or behavior that you have experienced in the project, please contact us at opensource@bloomberg.net.

Contributing

We welcome your contributions to help us improve and extend this project!

Below you will find some basic steps required to be able to contribute to the project. If you have any questions about this process or any other aspect of contributing to a Bloomberg open source project, feel free to send an email to opensource@bloomberg.net and we'll get your questions answered as quickly as we can.

Contribution Licensing

Since this project is distributed under the terms of an open source license, contributions that you make are licensed under the same terms. For us to be able to accept your contributions, we will need explicit confirmation from you that you are able and willing to provide them under these terms, and the mechanism we use to do this is called a Developer's Certificate of Origin (DCO). This is similar to the process used by the Linux kernel, Samba, and many other major open source projects.

To participate under these terms, all that you must do is include a line like the following as the last line of the commit message for each commit in your contribution:

Signed-Off-By: Random J. Developer <random@developer.example.org>

The simplest way to accomplish this is to add -s or --signoff to your git commit command.

You must use your real name (sorry, no pseudonyms, and no anonymous contributions).

Steps

  • Create an Issue, select 'Feature Request', and explain the proposed change.
  • Follow the guidelines in the issue template presented to you.
  • Submit the Issue.
  • Submit a Pull Request and link it to the Issue by including "#" in the Pull Request summary.

Release files for pytest-pystack 1.1.1

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

Source distribution (sdist)

Source distribution for pytest-pystack 1.1.1
File Size Uploaded
pytest_pystack-1.1.1.tar.gz 19.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-pystack 1.1.1
File Interpreter ABI Platform
pytest_pystack-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 34.8 kB

Release files / pytest_pystack-1.1.1.tar.gz

Download URL pytest_pystack-1.1.1.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
63112a9ca281418c45848c91b01c9334304f082bfb7b9f510664d2584e0b7b44
BLAKE2b-256 checksum
How to use checksums
a3465916a2200ad6545d1f97e0588fc1230204b1225a50ce9649960bb2d41095
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 Aug 7, 2026.

Transparency log

Release files / pytest_pystack-1.1.1-py3-none-any.whl

Download URL pytest_pystack-1.1.1-py3-none-any.whl
Size 15.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f17f278468d52c1cba42cbd84b0742bf45ecf714e8625222bac567b02d832b63
BLAKE2b-256 checksum
How to use checksums
4588e22b687c75a967f6c36922f09893f5308440f253f89971aadfa617f4c963
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 Aug 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release 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