Show coverage stats online via coveralls.io

Overview

Coveralls for Python

Test Status: https://img.shields.io/circleci/project/github/TheKevJames/coveralls-python/master.svg?style=flat-square&label=CircleCI https://img.shields.io/travis/TheKevJames/coveralls-python/master.svg?style=flat-square&label=TravisCI https://img.shields.io/github/workflow/status/TheKevJames/coveralls-python/coveralls/master?style=flat-square&label=Github%20Actions https://img.shields.io/coveralls/TheKevJames/coveralls-python/master.svg?style=flat-square&label=Coverage
Version Info: https://img.shields.io/conda/v/conda-forge/coveralls?style=flat-square&label=Conda https://img.shields.io/pypi/v/coveralls.svg?style=flat-square&label=PyPI https://img.shields.io/conda/dn/conda-forge/coveralls?label=Conda%20Downloads&style=flat-square https://img.shields.io/pypi/dm/coveralls.svg?style=flat-square&label=PyPI%20Downloads
Compatibility: https://img.shields.io/pypi/pyversions/coveralls.svg?style=flat-square&label=Python%20Versions https://img.shields.io/pypi/implementation/coveralls.svg?style=flat-square&label=Python%20Implementations
Misc: https://img.shields.io/docker/cloud/build/thekevjames/coveralls?style=flat-square&label=Docker https://img.shields.io/readthedocs/coveralls-python?style=flat-square&label=Docs

coveralls.io is a service for publishing your coverage stats online. This package provides seamless integration with coverage.py (and thus pytest, nosetests, etc...) in your Python projects:

pip install coveralls
coverage run --source=mypkg -m pytest tests/
coveralls

For more information and usage instructions, see our documentation.

Version Compatibility

As of version 2.0, we have dropped support for end-of-life'd versions of Python and particularly old version of coverage. Support for non-EOL'd environments is provided on a best-effort basis and will generally be removed once they make maintenance too difficult.

If you're running on an outdated environment with a new enough package manager to support version checks (see the PyPA docs), then installing the latest compatible version should do the trick. If you're even more outdated than that, please pin to coveralls<2.

If you're in an outdated environment and experiencing an issue, feel free to open a ticket -- but please mention your environment! I'm willing to backport fixes to the 1.x branch if need be.

Comments
  • Move repo to an organization

    Move repo to an organization

    For the sake of maintainability and also to enable easier control os CI services it would be much better to move this repo to a github organization

    Thoughts @TheKevJames and @coagulant ?

    I asked over https://github.com/lemurheavy/coveralls-public/issues/911

    If the answer is not positive, I just created an organization called, coveralls-clients

    If this does not already exists we could aggregate all other clients on this org.

    opened by goanpeca 13
  • Api.py will warn (no more silence) on ImportError

    Api.py will warn (no more silence) on ImportError

    Hello!

    I have added logging, when some modules are not installed. I have a pure Linux Mint installation (pyyaml is not installed), and I have a project. There is .coveralls.yml, but coveralls does not work:

    user@host ~/projects/project $ coveralls --verbose
    You have to provide either repo_token in .coveralls.yml, or launch via Travis or CircleCI
    

    I've spent a couple of hours, and found, that some exceptions were eaten in silence. It is bad. After patching:

    user@host ~/projects/project $ coveralls --verbose
    Seems, like some modules are not installed: No module named yaml
    You have to provide either repo_token in .coveralls.yml, or launch via Travis or CircleCI
    

    Changes

    log.warn added to exc.handler block. This code will just notify user on absence of some modules (in my case - yaml)

    Review on Reviewable

    opened by maxkoryukov 13
  • Could not submit coverage: 422 Client Error despite defining COVERALLS_REPO_TOKEN on GHA

    Could not submit coverage: 422 Client Error despite defining COVERALLS_REPO_TOKEN on GHA

    Despite $COVERALLS_REPO_TOKEN being correctly defined and passed in (via tox), getting a 422 error on GitHub Actions https://github.com/casperdcl/git-fame/runs/1383075434?check_suite_focus=true#step:5:62 (https://github.com/casperdcl/git-fame/commit/20b3f10f084d4f176ce041c7ec7abd1fa948fa3a)

     Could not submit coverage: 422 Client Error: Unprocessable Entity for url: coveralls.io/api/v1/jobs
    

    Note that codecov by comparison (using $CODECOV_TOKEN) works fine.

    opened by casperdcl 12
  • coveralls --finish not working as expected in Circle-CI

    coveralls --finish not working as expected in Circle-CI

    Thanks for this nice client.

    It looks like since the github api was introduced, the Circle-CI version seems broken. When I try putting having a run that finishes up a parallel go, the wrong build number is being used to notify the service

    (venv) circleci@b3cd35dd8048:~/project$ coveralls debug -v --finish
    Missing .coveralls.yml file. Using only env variables.
    Testing coveralls-python...
    {"source_files": [], "git": {"branch": "coveralls", "head": {"id": "fad6a2cc6ab84ef45d06bf2150a4d103c16e1a76", "author_name": "Stephen Roller", "author_email": "[email protected]", "committer_name": "Stephen Roller", "committer_email": "[email protected]", "message": "Hm."}, "remotes": [{"name": "origin", "url": "git@github.
    com:facebookresearch/ParlAI.git"}]}, "config_file": ".coveragerc", "parallel": true, "repo_token": "[secure]", "service_name": "circle-ci", "service_job_id": "48529", "service_pull_request": "2950"}
    ==
    Reporting 0 files
    ==
    

    Here you see that the CIRCLE_BUILD_NUM value has been put into "service_job_id" field of the config. In

    However, the call to finish uses the "service_number" field instead:

    https://github.com/coveralls-clients/coveralls-python/blob/30e4815169b3db2616981939d55d2f4495816821/coveralls/api.py#L217-L218

    As such, when you try calling coveralls --finish you get the following error:

    $ coveralls -v --finish
    Missing .coveralls.yml file. Using only env variables.
    Finishing parallel jobs...
    Parallel finish failed: No build matching CI build number  found
    Traceback (most recent call last):
      File "/home/circleci/venv/lib/python3.7/site-packages/coveralls/cli.py", line 80, in main
        coverallz.parallel_finish()
      File "/home/circleci/venv/lib/python3.7/site-packages/coveralls/api.py", line 236, in parallel_finish
        raise CoverallsException('Parallel finish failed: {}'.format(e))
    coveralls.exception.CoverallsException: Parallel finish failed: No build matching CI build number  found
    

    Note that Circle always puts None into the service_number field:

    https://github.com/coveralls-clients/coveralls-python/blob/30e4815169b3db2616981939d55d2f4495816821/coveralls/api.py#L87

    https://github.com/coveralls-clients/coveralls-python/blob/30e4815169b3db2616981939d55d2f4495816821/coveralls/api.py#L52-L59

    opened by stephenroller 12
  • Update Github Actions support

    Update Github Actions support

    Github Actions, and the coveralls side of support for it, seem to have changed/evolved. This PR brings coveralls-python in line with the official github action, which is commonly used to finish parallel builds.

    Additionally, there is no need to manually provide your repo token anymore (though you still can, so existing setups should not be affected by this), since the native github support takes the automatically provided GITHUB_TOKEN instead, very similar to how things work on Travis. You do however have to export that GITHUB_TOKEN to an env var in your workflow.yml:

    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    
    opened by TimoRoth 12
  • Branch coverage

    Branch coverage

    Apparently, Coveralls now supports branch coverage.

    https://github.com/lemurheavy/coveralls-public/issues/31#issuecomment-284375195

    I don't see the changes to the web API documented yet, but I do see that the Node client seems to support it via the branches key. branches is a sibling of coverage in the dictionary the client submits to Coveralls.

    https://github.com/nickmerwin/node-coveralls/commit/15750503b69c3143b3020fa5d4fe4fc1d455356e https://coveralls.io/github/nickmerwin/node-coveralls?branch=master

    screen shot 2017-03-06 at 07 58 43

    opened by myint 12
  • Add support for coverage v5.0+

    Add support for coverage v5.0+

    Running coveralls or coveralls debug or coveralls debug --verbose gives me the following stack dump:

    Testing coveralls-python...
    Traceback (most recent call last):
      File "/tmp/ds/bin/coveralls", line 10, in <module>
        sys.exit(main())
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/cli.py", line 68, in main
        coverallz.wear(dry_run=True)
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/api.py", line 168, in wear
        json_string = self.create_report()
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/api.py", line 184, in create_report
        data = self.create_data()
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/api.py", line 238, in create_data
        self._data = {'source_files': self.get_coverage()}
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/api.py", line 260, in get_coverage
        return CoverallReporter(workman, workman.config).report()
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/reporter.py", line 47, in report
        self.parse_file(cu, analyzed)
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/reporter.py", line 158, in parse_file
        branches = self.get_arcs(analysis)
      File "/tmp/ds/lib64/python3.7/site-packages/coveralls/reporter.py", line 103, in get_arcs
        branch_lines = analysis.branch_lines()
    AttributeError: 'Analysis' object has no attribute 'branch_lines'
    

    This is with coverage 5.0a5 and coveralls 1.8.0. It looks to me like the coverage library recently changed branch_lines to _branch_lines in the Analysis class (see https://github.com/nedbat/coveragepy/commit/f869f4dfd7ccd2c9d4e6575d00ee3ad1a31757e3#diff-b696f62d55a35f1f75a13c5c7ecf2f68), and coveralls is still trying to access it under the old name. I think. Or maybe the issue is on my end; I don't know.

    opened by davidwagner 11
  • Error on CircleCI without setting COVERALLS_REPO_TOKEN

    Error on CircleCI without setting COVERALLS_REPO_TOKEN

    When trying to submit coverage on CircleCI I get the following error:

    Couldn't find a repository matching this job.
    'url'
    
    $ pip freeze | grep coveralls
    coveralls==1.1
    

    I'm on the latest version of coveralls and according to the docs I don't need to set COVERALLS_REPO_TOKEN for CircleCI, what am I doing wrong?

    opened by joshblum 11
  • Remove extra dependencies to speed up installation

    Remove extra dependencies to speed up installation

    Installation takes ~10 seconds per build

    Due to all coverall-python's dependencies, installation takes around 10 seconds. Probably most of that time is spend on compiling PyYAML, only for parsing a config file most users will not be using. Also installing requests (great lib!) for doing a single post only, seems somewhat overkill. Reducing the external dependencies allows for a faster install, and speeds up all builds.

    $ time pip install coveralls
    Downloading/unpacking coveralls
      Downloading coveralls-0.3.zip
      Running setup.py egg_info for package coveralls
    Downloading/unpacking PyYAML>=3.10 (from coveralls)
      Downloading PyYAML-3.10.tar.gz (241kB): 241kB downloaded
      Running setup.py egg_info for package PyYAML
    Downloading/unpacking docopt>=0.6.1 (from coveralls)
      Downloading docopt-0.6.1.tar.gz
      Running setup.py egg_info for package docopt
    Downloading/unpacking coverage>=3.6 (from coveralls)
      Downloading coverage-3.7.tar.gz (283kB): 283kB downloaded
      Running setup.py egg_info for package coverage
        warning: no previously-included files matching '*.pyc' found anywhere in distribution
    Downloading/unpacking requests>=1.0.0 (from coveralls)
      Downloading requests-2.0.1.tar.gz (412kB): 412kB downloaded
      Running setup.py egg_info for package requests
    Downloading/unpacking sh>=1.08 (from coveralls)
      Downloading sh-1.09.tar.gz
      Running setup.py egg_info for package sh
    Installing collected packages: coveralls, PyYAML, docopt, coverage, requests, sh
      Running setup.py install for coveralls
        Installing coveralls script to /home/travis/virtualenv/python2.6/bin
      Running setup.py install for PyYAML
        checking if libyaml is compilable
        gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c build/temp.linux-x86_64-2.6/check_libyaml.c -o build/temp.linux-x86_64-2.6/check_libyaml.o
        checking if libyaml is linkable
        gcc -pthread build/temp.linux-x86_64-2.6/check_libyaml.o -lyaml -o build/temp.linux-x86_64-2.6/check_libyaml
        building '_yaml' extension
        (...)
      Running setup.py install for docopt
      Running setup.py install for coverage
        building 'coverage.tracer' extension
        gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.6 -c coverage/tracer.c -o build/temp.linux-x86_64-2.6/coverage/tracer.o
        gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/temp.linux-x86_64-2.6/coverage/tracer.o -o build/lib.linux-x86_64-2.6/coverage/tracer.so
        warning: no previously-included files matching '*.pyc' found anywhere in distribution
        Installing coverage2 script to /home/travis/virtualenv/python2.6/bin
        Installing coverage-2.6 script to /home/travis/virtualenv/python2.6/bin
        Installing coverage script to /home/travis/virtualenv/python2.6/bin
      Running setup.py install for requests
      Running setup.py install for sh
    Successfully installed coveralls PyYAML docopt coverage requests sh
    Cleaning up...
    real    0m10.539s
    user    0m8.336s
    sys 0m0.781s
    

    Using --use-mirrors, the result is only worse:

    $ time pip install coveralls --use-mirrors
    real    1m44.662s
    user    0m10.684s
    sys 0m1.183s
    
    opened by Bouke 11
  • chore(dependencies): unpin pytest version, use pytest-runner

    chore(dependencies): unpin pytest version, use pytest-runner

    Fixes #139

    Forced an install of the latest pytest (3.0.6) and found no errors. We should wait until CI works again before merging this, just to be sure.

    opened by TheKevJames 10
  • .coveralls.yml has no effect

    .coveralls.yml has no effect

    I'm having troubles both locally and on travis-pro:

    Locally, coveralls appears to ignore my .coveralls.yml file

    $ coveralls
    You have to provide either repo_token in .coveralls.yml, or launch via Travis or CircleCI
    $ cat .coveralls.yml
    repo_token: abcdefghijklmnop
    

    and on travis-pro with .coveralls.yml set to

    service_name: travis-pro
    repo_token: abcdefghijklmnop
    

    the travis build logs tell me

    $ coveralls
    Submitting coverage to coveralls.io...
    Coverage submitted!
    Couldn't find a repository matching this job.
    'url'
    

    I've confirmed that the repo_token is equal to the token on the coveralls page. Am I missing a step? Options to debug this?

    opened by perrygeo 10
  • 3.3.1: pytest is failing in units which are uning `coverage.files` module (with `coverage` 7.0.1)

    3.3.1: pytest is failing in units which are uning `coverage.files` module (with `coverage` 7.0.1)

    I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

    • python3 -sBm build -w --no-isolation
    • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
    • install .whl file in </install/prefix>
    • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

    Here is list of installed modules in build env

    Package                       Version
    ----------------------------- -----------------
    alabaster                     0.7.12
    asn1crypto                    1.5.1
    attrs                         22.2.0
    Babel                         2.11.0
    bcrypt                        3.2.2
    build                         0.9.0
    cffi                          1.15.1
    charset-normalizer            3.0.1
    contourpy                     1.0.6
    coverage                      7.0.1
    cryptography                  38.0.4
    cycler                        0.11.0
    distro                        1.8.0
    docopt                        0.6.2
    docutils                      0.19
    exceptiongroup                1.0.0
    extras                        1.0.0
    fixtures                      4.0.0
    fonttools                     4.38.0
    gpg                           1.18.0-unknown
    idna                          3.4
    imagesize                     1.4.1
    importlib-metadata            5.1.0
    iniconfig                     1.1.1
    Jinja2                        3.1.2
    kiwisolver                    1.4.4
    libcomps                      0.1.19
    MarkupSafe                    2.1.1
    matplotlib                    3.6.2
    numpy                         1.24.1
    olefile                       0.46
    packaging                     21.3
    pbr                           5.9.0
    pep517                        0.13.0
    Pillow                        9.3.0
    pip                           22.3.1
    pluggy                        1.0.0
    ply                           3.11
    pyasn1                        0.4.8
    pyasn1-modules                0.2.8
    pycparser                     2.21
    Pygments                      2.13.0
    PyGObject                     3.42.2
    pyparsing                     3.0.9
    pytest                        7.2.0
    python-dateutil               2.8.2
    pytz                          2022.4
    PyYAML                        6.0
    requests                      2.28.1
    responses                     0.22.0
    rpm                           4.17.0
    setuptools                    65.6.3
    six                           1.16.0
    snowballstemmer               2.2.0
    Sphinx                        5.3.0
    sphinxcontrib-applehelp       1.0.2.dev20221204
    sphinxcontrib-devhelp         1.0.2.dev20221204
    sphinxcontrib-htmlhelp        2.0.0
    sphinxcontrib-jsmath          1.0.1.dev20221204
    sphinxcontrib-qthelp          1.0.3.dev20221204
    sphinxcontrib-serializinghtml 1.1.5
    testtools                     2.5.0
    toml                          0.10.2
    tomli                         2.0.1
    tpm2-pkcs11-tools             1.33.7
    tpm2-pytss                    1.1.0
    types-toml                    0.10.8
    urllib3                       1.26.12
    wheel                         0.38.4
    zipp                          3.11.0
    
    opened by kloczek 1
  • Tox test on Python 3.6 fails with assertion error

    Tox test on Python 3.6 fails with assertion error

    On Python 3.6, the tox test fails. On Python 3.5 and 3.7 or higher, it suceeds.

      py36-cov6-default run-test: commands[0] | coverage run --branch --source=coveralls -m pytest tests/
      ============================= test session starts ==============================
      platform linux -- Python 3.6.15, pytest-7.0.1, pluggy-1.0.0
      cachedir: .tox/py36-cov6-default/.pytest_cache
      rootdir: /home/runner/work/coveralls-python/coveralls-python
      collected 73 items
      
      tests/api_test.py .                                                      [  1%]
      tests/cli_test.py ..............                                         [ 20%]
      tests/git_test.py ........                                               [ 31%]
      tests/integration_test.py ...                                            [ 35%]
      tests/api/configuration_test.py s...................                     [ 63%]
      tests/api/encoding_test.py ..                                            [ 65%]
      tests/api/exception_test.py ...                                          [ 69%]
      tests/api/reporter_test.py .......F..                                    [ 83%]
      tests/api/wear_test.py ............                                      [100%]
      
      =================================== FAILURES ===================================
      ___________________ ReporterTest.test_reporter_with_branches ___________________
      
      self = <tests.api.reporter_test.ReporterTest testMethod=test_reporter_with_branches>
      
          def test_reporter_with_branches(self):
              subprocess.call(['coverage', 'run', '--branch', '--omit=**/.tox/*',
                               'runtests.py'], cwd=EXAMPLE_DIR)
              results = Coveralls(repo_token='xxx').get_coverage()
              assert len(results) == 2
          
              # Branches are expressed as four values each in a flat list
              assert not len(results[0]['branches']) % 4
              assert not len(results[1]['branches']) % 4
          
              expected_results = self.make_test_results(with_branches=True)
      >       assert_coverage(results[0], expected_results[0])
      
      /home/runner/work/coveralls-python/coveralls-python/tests/api/reporter_test.py:176: 
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
      
      actual = {'branches': [5, 0, 6, 1, 5, 0, ...], 'coverage': [1, 1, None, None, 1, None, ...], 'name': 'project.py', 'source': 'd...1:\n        print(\'condition tested both ways\')\n    if cond2:\n        print(\'condition not tested both ways\')\n'}
      expected = {'branches': [13, 0, 14, 1, 13, 0, ...], 'coverage': [1, 1, None, None, 1, None, ...], 'name': 'project.py', 'source':...1:\n        print(\'condition tested both ways\')\n    if cond2:\n        print(\'condition not tested both ways\')\n'}
      
          def assert_coverage(actual, expected):
              assert actual['source'].strip() == expected['source'].strip()
              assert actual['name'] == expected['name']
              assert actual['coverage'] == expected['coverage']
      >       assert actual.get('branches') == expected.get('branches')
      E       assert [5, 0, 6, 1, 5, 0, ...] == [13, 0, 14, 1, 13, 0, ...]
      E         At index 0 diff: 5 != 13
      E         Left contains 8 more items, first extra item: 15
      E         Full diff:
      E         - [13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12, 0]
      E         + [5, 0, 6, 1, 5, 0, 9, 1, 13, 0, 14, 1, 13, 0, 15, 1, 15, 0, 16, 1, 15, 0, 12, 0]
      E         ?  ++++++++++++++++++++++++
      
      /home/runner/work/coveralls-python/coveralls-python/tests/api/reporter_test.py:16: AssertionError
      ----------------------------- Captured stdout call -----------------------------
      world
      condition not tested both ways
      condition tested both ways
      condition not tested both ways
      =========================== short test summary info ============================
      FAILED tests/api/reporter_test.py::ReporterTest::test_reporter_with_branches
      =================== 1 failed, 71 passed, 1 skipped in 4.23s ====================
      Error: ERROR: InvocationError for command /home/runner/work/coveralls-python/coveralls-python/.tox/py36-cov6-default/bin/coverage run --branch --source=coveralls -m pytest tests/ (exited with code 1)
    

    This is from run https://github.com/TheKevJames/coveralls-python/actions/runs/3765789223/jobs/6401619490

    opened by andy-maier 0
  • coveralls workflow fails on Python 3.5 and 3.6 with ubuntu-latest

    coveralls workflow fails on Python 3.5 and 3.6 with ubuntu-latest

    See for example here: https://github.com/TheKevJames/coveralls-python/actions/runs/3765678072

    This is caused by GitHub Actions having changed ubuntu-latest to now be Ubuntu 22.04, for which it no longer provides Python 3.5 and 3.6.

    This can be fixed by specifying the use of ubuntu-20.04 for Python 3.5 and 3.6.

    opened by andy-maier 1
  • chore(deps): update dependency coverage to v7

    chore(deps): update dependency coverage to v7

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | coverage | >=4.1,<7.0,!=6.0.*,!=6.1,!=6.1.1 -> >=7,<7.1,!=6.0,!=6.1,!=6.1.1 | age | adoption | passing | confidence |


    Release Notes

    nedbat/coveragepy

    v7.0.1

    Compare Source

    • When checking if a file mapping resolved to a file that exists, we weren't considering files in .whl files. This is now fixed, closing issue 1511_.

    • File pattern rules were too strict, forbidding plus signs and curly braces in directory and file names. This is now fixed, closing issue 1513_.

    • Unusual Unicode or control characters in source files could prevent reporting. This is now fixed, closing issue 1512_.

    • The PyPy wheel now installs on PyPy 3.7, 3.8, and 3.9, closing issue 1510_.

    .. _issue 1510:https://github.com/nedbat/coveragepy/issues/15100 .. _issue 1511https://github.com/nedbat/coveragepy/issues/151111 .. _issue 151https://github.com/nedbat/coveragepy/issues/1512512 .. _issue 15https://github.com/nedbat/coveragepy/issues/15131513

    .. _changes_7-0-0:

    v7.0.0

    Compare Source

    Nothing new beyond 7.0.0b1.

    .. _changes_7-0-0b1:


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • tox.rst: update passenv examples for tox3 and tox4

    tox.rst: update passenv examples for tox3 and tox4

    tox4 no longer allows space-separated passenv https://github.com/tox-dev/tox/issues/2615

    however tox3 doesn't support VAR, either

    so to support both versions of tox, use this funky space + comma separated syntax, which really does work.

    opened by masenf 0
Releases(3.3.1)
  • 3.3.1(Nov 11, 2021)

    Bug Fixes

    • correctly support parallel execution on CircleCI (#336) (2610885a)

    Internal

    • exclude a few incompatible coverage versions (#337)

    coverage versions v6.0.0 through v6.1.1 exhibited some incompatibilies with coveralls; we've updated our version compatibility ranges to exclude those versions.

    Source code(tar.gz)
    Source code(zip)
  • 3.3.0(Nov 4, 2021)

    Features

    • cli: add --srcdir option (#306) (4120c540)
    • deps: add support for coverage v6.x (#330) (372443dc, closes #326)

    Note this implicitly improves support for Python 3.10, as coverage v6.x includes some fixes for v3.10 of Python.

    Bug Fixes

    • env: fixup handling of default env service values (#314) (1a0fd9b3, closes #303)

    This solves some edge cases around duplicated / unmerged coverage results in parallel runs.

    Source code(tar.gz)
    Source code(zip)
  • 3.2.0(Jul 20, 2021)

  • 3.1.0(May 24, 2021)

  • 3.0.1(May 24, 2021)

  • 3.0.0(Jan 12, 2021)

    3.0.0 (2021-01-12)

    Features (BREAKING)

    • config: reorder configuration precedence (#249) (f4faa92d)

    We have reversed the order in which configurations are parsed. This means we are now following the following precedence (latest configured value is used):

    1. CI Config
    2. COVERALLS_* env vars
    3. .coveralls.yml file
    4. CLI flags

    If you have the same fields set in multiple of the above locations, please double-check them before upgrading to v3.

    The motivation for this change is allowing users to selectively fix values which may be automatically set to the wrong value. For example, Github Actions users may find that Github Actions expects you to use a different "service name" in various different cases. Now you can run, for example:

     coveralls --service=github
    

    In places where you need to override the default (which is github-actions).

    Bug Fixes

    • github: send null job_id to fix 422 (05b66aa0)
    • api: fixup retries for services without job IDs (6ebdc5e2)
    Source code(tar.gz)
    Source code(zip)
  • 2.2.0(Nov 20, 2020)

    2.2.0 (2020-11-20)

    Features

    • api: add workaround allowing job resubmission (#241)

    Bug Fixes

    • integrations: fixup environment detection for Semaphore CI (#236)
    Source code(tar.gz)
    Source code(zip)
  • 2.1.2(Aug 12, 2020)

    2.1.2 (2020-08-12)

    Features

    • circleci: support parallel builds (#233) (5e05654c) Note: this is partially a fix for the --finish command introduced in v2.1.0, which did not seem to work for some CircleCI users.
    Source code(tar.gz)
    Source code(zip)
  • 2.1.1(Jul 8, 2020)

    2.1.1 (2020-07-08)

    Bug Fixes

    • fix unhashable CoverallsException (#230) (aa55335d) This fixes a regression introduced in v2.1.0 which affected (at least) any Python 3.5 installations.
    Source code(tar.gz)
    Source code(zip)
  • 2.1.0(Jul 7, 2020)

  • 2.0.0(Apr 7, 2020)

    2.0.0 (2020-04-07)

    Compatibility (BREAKING CHANGES)

    • We have now dropped support for End-Of-Life'd versions of Python and particularly old versions of the coverage library; if you are still using Python v2.7 or v3.4, or you are using coverage<4.1, this library will no longer be compatible starting from this release -- please pin to coveralls<2.0.0.
    Source code(tar.gz)
    Source code(zip)
  • 1.11.1(Feb 15, 2020)

    1.11.1 (2020-02-15)

    Bug Fixes

    • github: rename to github-actions (9e65a059) This fixes a regression introduced with v1.11.0, which may have prevented usage of this library on Github Actions.
    Source code(tar.gz)
    Source code(zip)
  • 1.11.0(Feb 12, 2020)

    1.11.0 (2020-02-12)

    Fixes

    • github: add service_number for github actions (9f93bd8e) This should fix support for parallel builds.

    Compatibility

    • Python 2.7 and 3.4 are now officially End-Of-Life'd. Consider them deprecated from the perspective of this package -- we'll remove them in an upcoming release (likely the first one which requires non-trivial work to continue supporting them!).
    Source code(tar.gz)
    Source code(zip)
  • 1.10.0(Dec 31, 2019)

  • 1.9.2(Dec 3, 2019)

  • 1.9.1(Dec 3, 2019)

    1.9.1 (2019-12-03)

    Compatibility

    • this release marks Python 3.8 as officially supported. Earlier versions probably supported Python 3.8 too, but now we're sure.
    Source code(tar.gz)
    Source code(zip)
  • 1.9.0(Dec 3, 2019)

    1.9.0 (2019-12-03)

    Features

    • support: support Github Actions CI (#207)

    Bug Fixes

    • compatibility: fixup coverage.__version__ comparisons (#208)
    Source code(tar.gz)
    Source code(zip)
  • 1.8.2(Jul 29, 2019)

  • 1.8.1(Jun 16, 2019)

    1.8.1 (2019-06-16)

    Bug Fixes

    • dependencies: pin coverage to < 5.0, since the current 5.0 alphas are introducing breaking changes. Once 5.0 is stable, we'll remove the pin.
    Source code(tar.gz)
    Source code(zip)
  • 1.8.0(Jun 2, 2019)

  • 1.7.0(Mar 20, 2019)

  • 1.6.0(Feb 18, 2019)

  • 1.5.1(Sep 28, 2018)

    1.5.1 (2018-09-28)

    Features

    • git: omit git info when git isn't installed (#187) (764956ea)
      • ... instead of erroring. The fixes the v1.4.0 release of "supporting non-git repos" when the git binary is not installed.
      • Note that commit info can still be set with env vars, even in non-git repositories -- see the docs for more info!

    Compatibility

    • python: include python 3.7 in matrix tests (023d474)
      • previous versions of coveralls-python should be compatible with Python 3.7, no code changes were required to make tests pass

    Internal

    • remove pytest-runner as a dependency (#185) (4cbbfcd)
    Source code(tar.gz)
    Source code(zip)
  • 1.5.0(Aug 31, 2018)

  • 1.4.0(Aug 24, 2018)

    1.4.0 (2018-08-24)

    Performance

    • git: call fallback git commands in fallback cases only (e42095b4)

    Features

    • env: support git env vars (#182) (a1918e89)
      • This change also adds support for non-git repos.
    • flags: add ability to add named job (#181) (f7ba07bf)

    Compatibility

    • python: drop support for Python 3.3 (dcb06fc1)
    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Mar 2, 2018)

    1.3.0 (2018-03-02)

    Features

    • ci: add Travis PR support (#162) (baf683ee)
    • cli: allow service_name override from cli flag or env var (#167) (e8a98904)
    • coveralls-enterprise: add support for coveralls enterprise (#166) (7383f377)
    • git: silently omit git data when git is unavailable (#176) (f9db83cd)
    • jenkins:
      • add logic to parse CI_PULL_REQUEST env variable (#171) (34a037f5)
      • add support for jenkins (#160) (4e8cd9ec)
    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Aug 16, 2017)

Coverage plugin for pytest.

Overview docs tests package This plugin produces coverage reports. Compared to just using coverage run this plugin does some extras: Subprocess suppor

pytest-dev 1.4k Dec 29, 2022
a plugin for py.test that changes the default look and feel of py.test (e.g. progressbar, show tests that fail instantly)

pytest-sugar pytest-sugar is a plugin for pytest that shows failures and errors instantly and shows a progress bar. Requirements You will need the fol

Teemu 963 Dec 28, 2022
Show surprise when tests are passing

pytest-pikachu pytest-pikachu prints ascii art of Surprised Pikachu when all tests pass. Installation $ pip install pytest-pikachu Usage Pass the --p

Charlie Hornsby 13 Apr 15, 2022
Generates a coverage badge using coverage.py and the shields.io service.

Welcome to README Coverage Badger ?? Generates a coverage badge using coverage.py and the shields.io service. Your README file is then updated with th

Victor Miti 10 Dec 6, 2022
Command-line interface to PyPI Stats API to get download stats for Python packages

pypistats Python 3.6+ interface to PyPI Stats API to get aggregate download statistics on Python packages on the Python Package Index without having t

Hugo van Kemenade 140 Jan 3, 2023
Track player's stats, find out when they're online and grinding!

Hypixel Stats Tracker Track player's stats, find out when they're online and playing games! INFO Showcase Server: https://discord.gg/yY5qQHPar6 Suppor

null 4 Dec 18, 2022
Show Data: Show your dataset in web browser!

Show Data is to generate html tables for large scale image dataset, especially for the dataset in remote server. It provides some useful commond line tools and fully customizeble API reference to generate html table different tasks.

Dechao Meng 83 Nov 26, 2022
Retrieves GitHub Stats via `git_api` and flask.

GitHub User Search Created using Python3 and git_api, coded by JBYT27. About This is a project I decided to make for Kajam, but I decided to choose a

an aspirin 4 May 11, 2022
Code coverage measurement for Python

Coverage.py Code coverage testing for Python. Coverage.py measures code coverage, typically during test execution. It uses the code analysis tools and

Ned Batchelder 2.3k Jan 4, 2023
Explain yourself! Interrogate a codebase for docstring coverage.

interrogate: explain yourself Interrogate a codebase for docstring coverage. Why Do I Need This? interrogate checks your code base for missing docstri

Lynn Root 435 Dec 29, 2022
Coverage plugin for pytest.

Overview docs tests package This plugin produces coverage reports. Compared to just using coverage run this plugin does some extras: Subprocess suppor

pytest-dev 1.4k Dec 29, 2022
Django project starter on steroids: quickly create a Django app AND generate source code for data models + REST/GraphQL APIs (the generated code is auto-linted and has 100% test coverage).

Create Django App ?? We're a Django project starter on steroids! One-line command to create a Django app with all the dependencies auto-installed AND

imagine.ai 68 Oct 19, 2022
Rethinking Space-Time Networks with Improved Memory Coverage for Efficient Video Object Segmentation

STCN Rethinking Space-Time Networks with Improved Memory Coverage for Efficient Video Object Segmentation Ho Kei Cheng, Yu-Wing Tai, Chi-Keung Tang [a

Rex Cheng 456 Dec 12, 2022
Code coverage measurement for Python

Coverage.py Code coverage testing for Python. Coverage.py measures code coverage, typically during test execution. It uses the code analysis tools and

Ned Batchelder 2.3k Jan 5, 2023
An AFL implementation with UnTracer (our coverage-guided tracer)

UnTracer-AFL This repository contains an implementation of our prototype coverage-guided tracing framework UnTracer in the popular coverage-guided fuz

null 113 Dec 17, 2022
InsTrim: Lightweight Instrumentation for Coverage-guided Fuzzing

InsTrim The paper: InsTrim: Lightweight Instrumentation for Coverage-guided Fuzzing Build Prerequisite llvm-8.0-dev clang-8.0 cmake >= 3.2 Make git cl

null 75 Dec 23, 2022
Angora is a mutation-based fuzzer. The main goal of Angora is to increase branch coverage by solving path constraints without symbolic execution.

Angora Angora is a mutation-based coverage guided fuzzer. The main goal of Angora is to increase branch coverage by solving path constraints without s

null 833 Jan 7, 2023
A library for performing coverage guided fuzzing of neural networks

TensorFuzz: Coverage Guided Fuzzing for Neural Networks This repository contains a library for performing coverage guided fuzzing of neural networks,

Brain Research 195 Dec 28, 2022
Example project demonstrating using Django’s test runner with Coverage.py

Example project demonstrating using Django’s test runner with Coverage.py Set up with: python -m venv --prompt . venv source venv/bin/activate python

Adam Johnson 5 Nov 29, 2021
🌸 fastText + Bloom embeddings for compact, full-coverage vectors with spaCy

floret: fastText + Bloom embeddings for compact, full-coverage vectors with spaCy floret is an extended version of fastText that can produce word repr

Explosion 222 Dec 16, 2022