This package provides a module to interface with the https://coveralls.io API.
Using pip:
$ pip install python-coveralls
...Or simply add it to your requirements.
If you're not using Travis, Coveralls for Python uses a .coveralls.yml
file at the root level of your repository to configure options.
The only required option is repo_token
(found on your repository's page on Coveralls) to specify which project on Coveralls your project maps to.
Another important option is is service_name
which allows you to specify where Coveralls should look to find additional information about your builds. This can be any string, but using travis-ci or travis-pro will allow Coveralls to fetch branch data, comment on pull requests, and more.
A .coveralls.yml
file configured for Travis Pro:
repo_token: abcdef1234569abdcef
service_name: travis-pro
parallel: true # if the CI is running your build in parallel
if you don't want the repo_token
under source control, set it in your coveralls
command:
COVERALLS_REPO_TOKEN=abcdef1234569abdcef coveralls
Create a .coverage
file and you can use coverage,
pytest-cov, or
nosexcover.
Then you can add in the after_success step:
coveralls
It should look like something like:
language: python
python:
- "2.6"
- "2.7"
install:
- pip install -e . --use-mirrors
before_script:
- pip install -r test_requirements.txt --use-mirrors
- git clone https://github.com/z4r/python-coveralls-example.git
- cd python-coveralls-example
- git checkout -qf 17b8119796516195527dcb4f454a2ebd41d60244
- py.test example/tests.py --cov=example
- cd -
script:
- py.test coveralls/tests.py --doctest-modules --pep8 coveralls -v --cov coveralls --cov-report term-missing
after_success:
- coveralls
You probably don't need to configure anything, but if you customize some option of coverage you would add it to coveralls too:
$ coveralls -h usage: coveralls [-h] [--coveralls_url COVERALLS_URL] [--base_dir BASE_DIR] [--data_file DATA_FILE] [--config_file CONFIG_FILE] [--coveralls_yaml COVERALLS_YAML] [--ignore-errors] [--merge_file MERGE_FILE] [--nogit] optional arguments: -h, --help show this help message and exit --coveralls_url COVERALLS_URL, -u COVERALLS_URL coveralls.io api url --base_dir BASE_DIR, -b BASE_DIR project root directory --data_file DATA_FILE, -d DATA_FILE coverage file name --config_file CONFIG_FILE, -c CONFIG_FILE coverage config file name --coveralls_yaml COVERALLS_YAML, -y COVERALLS_YAML coveralls yaml file name --ignore-errors, -i ignore errors while reading source files --merge_file MERGE_FILE, -m MERGE_FILE json file containing coverage data to be merged (for merging javascript coverage) --nogit do not gather git repo info