Skip to main content

CSV output for pytest.

Project description

last release pypi package pytest supported versions continuous integration

CSV output for pytest.


Install using pip:

pip install pytest-csv


  • To enable the CSV report:

    py.test --csv tests.csv
  • To customize the CSV delimiter/quoting characters:

    py.test --csv tests.csv --csv-delimiter ';' --csv-quote-char '"'
  • To customize the columns:

    py.test --csv tests.csv --csv-columns host,function,status,duration,parameters_as_columns
  • This is the reference of all available columns:

    Column Description
    id pytest test identifier
    module test module name
    class test class
    function test function name
    name test name, with arguments
    file test module file
    doc test function docstring
    status test status (passed, failed, error, skipped, xpassed or xfailed)
    success test status, as a boolean
    duration test duration, in seconds
    duration_formatted test duration, human readable
    message error message, if any
    markers test markers, as a comma-separated list
    markers_with_args test markers with their arguments, as a comma-separated list
    markers_as_columns test markers, each as a separate column
    markers_args_as_columns test markers with their arguments, each as a separate column
    parameters test parameters, as a comma-separated list
    parameters_as_columns test parameters, each as a separate column
    properties properties recorded using record_property, as a comma-separated list
    properties_as_columns properties recorded using record_property, each as a separate column
    user current user name
    host current host (from platform module)
    system current system name (from platform module)
    system_release current system release info (from platform module)
    system_version current system version info (from platform module)
    python_implementation current python implementation (from platform module)
    python_version current python version (from platform module)
    working_directory current working directory
  • To add some data directly from a test function, enable properties_as_columns and use:

    def test_01(record_property):
        record_property('my column 1', 42)
        record_property('my column 2', 'foo bar')
  • To define new column types, in (more examples here):

    def pytest_csv_register_columns(columns):
        columns['my_simple_column'] = lambda item, report: {'my column': report.nodeid}


Please report issues here.


This software is released under the GNU General Public License v3.0, see COPYING for details.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest-csv-3.0.0.tar.gz (21.9 kB view hashes)

Uploaded source

Built Distribution

pytest_csv-3.0.0-py2.py3-none-any.whl (26.4 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page