Skip to main content
pytest
https://img.shields.io/pypi/v/pytest.svg https://img.shields.io/conda/vn/conda-forge/pytest.svg https://img.shields.io/pypi/pyversions/pytest.svg Code coverage Status https://travis-ci.org/pytest-dev/pytest.svg?branch=master https://dev.azure.com/pytest-dev/pytest/_apis/build/status/pytest-CI?branchName=master https://img.shields.io/badge/code%20style-black-000000.svg https://www.codetriage.com/pytest-dev/pytest/badges/users.svg

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.

An example of a simple test:

# content of test_sample.py
def inc(x):
    return x + 1


def test_answer():
    assert inc(3) == 5

To execute it:

$ pytest
============================= test session starts =============================
collected 1 items

test_sample.py F

================================== FAILURES ===================================
_________________________________ test_answer _________________________________

    def test_answer():
>       assert inc(3) == 5
E       assert 4 == 5
E        +  where 4 = inc(3)

test_sample.py:5: AssertionError
========================== 1 failed in 0.04 seconds ===========================

Due to pytest’s detailed assertion introspection, only plain assert statements are used. See getting-started for more examples.

Features

  • Detailed info on failing assert statements (no need to remember self.assert* names);

  • Auto-discovery of test modules and functions;

  • Modular fixtures for managing small or parametrized long-lived test resources;

  • Can run unittest (or trial), nose test suites out of the box;

  • Python 2.7, Python 3.4+, PyPy 2.3, Jython 2.5 (untested);

  • Rich plugin architecture, with over 315+ external plugins and thriving community;

Documentation

For full documentation, including installation, tutorials and PDF documents, please see https://docs.pytest.org/en/latest/.

Bugs/Requests

Please use the GitHub issue tracker to submit bugs or request features.

Changelog

Consult the Changelog page for fixes and enhancements of each version.

Support pytest

You can support pytest by obtaining a Tideflift subscription.

Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional grade assurances from the experts who know it best, while seamlessly integrating with existing tools.

Security

pytest has never been associated with a security vunerability, but in any case, to report a security vulnerability please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

License

Copyright Holger Krekel and others, 2004-2020.

Distributed under the terms of the MIT license, pytest is free and open source software.

Metadata

Release files for pytest 4.6.9

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 4.6.9
File Size Uploaded Provenance Actions
pytest-4.6.9.tar.gz 956.8 kB Without provenance Details for pytest-4.6.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pytest 4.6.9
File Interpreter ABI Platform Actions
pytest-4.6.9-py2.py3-none-any.whl Python 3, Python 2 none any Details for pytest-4.6.9-py2.py3-none-any.whl

Total release size: 1.2 MB

Release files / pytest-4.6.9.tar.gz

Download URL pytest-4.6.9.tar.gz
Size 956.8 kB
Tags Source
SHA-256 checksum
How to use checksums
19e8f75eac01dd3f211edd465b39efbcbdc8fc5f7866d7dd49fedb30d8adf339
BLAKE2b-256 checksum
How to use checksums
ec2e1602fca477ab3ccb1952f07db0536b60b6afafec16eced8063b553001509
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

Release files / pytest-4.6.9-py2.py3-none-any.whl

Download URL pytest-4.6.9-py2.py3-none-any.whl
Size 231.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
c77a5f30a90e0ce24db9eaa14ddfd38d4afb5ea159309bdd2dae55b931bc9324
BLAKE2b-256 checksum
How to use checksums
e30526e00e583640d02c6b38ac53a92d8c9fecacde0842c4f2d7c02bbbd0d57f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

Security for pytest 4.6.9

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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

4.6.9 This release

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