summaryrefslogtreecommitdiff
path: root/doc/api.rst
blob: 268c6133332dcf381c4381ce5fb5507d17057b0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
.. _api:

============
Coverage API
============

.. :history: 20090524T134300, brand new docs.
.. :history: 20090613T164000, final touches for 3.0
.. :history: 20100221T151500, docs for 3.3 (on the plane back from PyCon)
.. :history: 20100725T211700, updated for 3.4.
.. :history: 20121111T235800, added a bit of clarification.
.. :history: 20140819T132600, change class name to Coverage


The API to coverage.py is very simple, contained in a single module called
`coverage`.  Most of the interface is in a single class, called
`Coverage`.  Methods on the Coverage object correspond roughly to operations
available in the command line interface. For example, a simple use would be::

    import coverage

    cov = coverage.Coverage()
    cov.start()

    # .. call your code ..

    cov.stop()
    cov.save()

    cov.html_report()


The Coverage class
------------------

.. module:: coverage

.. autoclass:: Coverage
    :members:
    :exclude-members: use_cache


The CoverageData class
----------------------

.. autoclass:: CoverageData
    :members:


Starting coverage automatically
-------------------------------

This function is used to start coverage measurement automatically when Python
starts.  See :ref:`subprocess` for details.

.. autofunction:: process_startup