Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

pytest-is-running

https://img.shields.io/github/actions/workflow/status/adamchainz/pytest-is-running/main.yml?branch=main&style=for-the-badge https://img.shields.io/badge/Coverage-100%25-success?style=for-the-badge https://img.shields.io/pypi/v/pytest-is-running.svg?style=for-the-badge https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge pre-commit

pytest plugin providing a function to check if pytest is running.

Unmaintained (2024-01-02)

I stopped maintaining this package as it doesn’t provide much value over checking whether pytest has been imported:

import sys

if "pytest" in sys.modules:
    ...

In every project I’ve seen, pytest is only imported when running.


Working on a Django project? Check out my book Boost Your Django DX which covers many ways to improve your development experience. I created pytest-is-running whilst working on the book!


Installation

Install with:

python -m pip install pytest-is-running

Python 3.8 to 3.12 supported.

Usage

pytest will automatically find the plugin and use it when you run pytest. You can check if pytest is running with the is_running() function:

import pytest_is_running


if pytest_is_running.is_running():
    ...

The package avoids importing pytest if it is not running, so that you don’t incur that overhead in non-test paths.

The package registers its plugin hooks as early as possible in pytest’s process, so it should be loaded before any of your non-test modules.

Rationale

This plugin is an alternative to re-implementing the pattern in the pytest documentation. As a plugin, it is loaded earlier than conftest.py or any other code in your project. This makes it a more robust way of checking whether pytest is currently running.

Upstream issue #9502 discusses adding a feature to pytest. It also covers an alternative which is often “good enough” - a simple check if pytest has been imported with:

"pytest" in sys.modules

This won’t be strictly accurate if you happen to import pytest outside of your test run, but that is not very common. You may prefer to using this simpler technique instead of this plugin.

Release files for pytest-is-running 1.5.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-is-running 1.5.1
File Size Uploaded
pytest-is-running-1.5.1.tar.gz 4.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-is-running 1.5.1
File Interpreter ABI Platform
pytest_is_running-1.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.0 kB

Release files / pytest-is-running-1.5.1.tar.gz

Download URL pytest-is-running-1.5.1.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
885cc87e5e3874d80f1f4610967c20430c2c169b2b2e6227da43a7b80dbe8a73
BLAKE2b-256 checksum
How to use checksums
464da7c4a16f74661bed99607182f6f87844ab84dab89579aaf4f296318f8097
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / pytest_is_running-1.5.1-py3-none-any.whl

Download URL pytest_is_running-1.5.1-py3-none-any.whl
Size 4.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d08ef02b59b67df57bd4766ba8e4a715a867e03e4b7abc193f14dff5666c2a3f
BLAKE2b-256 checksum
How to use checksums
544555a7d7ef1a908d92cb01ecdad5f6e10f941b972087c4dd0cd16fc27f5b5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7
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