Metadata-Version: 2.1
Name: pytest-yapf3
Version: 0.6.1
Summary: Validate your Python file format with yapf
Home-page: https://github.com/yanqd0/pytest-yapf3
Author: Yan QiDong
Author-email: yanqd0@outlook.com
License: MIT
Description: # pytest-yapf3
        
        [![Travis](https://travis-ci.org/yanqd0/pytest-yapf3.svg?branch=master)](https://travis-ci.org/yanqd0/pytest-yapf3)
        [![AppVeyor](https://ci.appveyor.com/api/projects/status/umf6393qo2y7afog/branch/master?svg=true)](https://ci.appveyor.com/project/yanqd0/pytest-yapf3/branch/master)
        [![codecov](https://codecov.io/gh/yanqd0/pytest-yapf3/branch/master/graph/badge.svg)](https://codecov.io/gh/yanqd0/pytest-yapf3)
        [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3446/badge)](https://bestpractices.coreinfrastructure.org/projects/3446)
        [![Code style: yapf](https://img.shields.io/badge/code%20style-yapf-blue)](https://github.com/google/yapf)
        
        Validate your Python file format with yapf.
        
        This is a [pytest] plugin, which make sure your python file is exactly formatted by yapf,
        or it will crash when running `pytest`.
        
        [pytest]:https://pytest.org/
        
        ## Install
        
        [![Version](https://img.shields.io/pypi/v/pytest-yapf3)](https://pypi.org/project/pytest-yapf3/)
        [![Python](https://img.shields.io/pypi/pyversions/pytest-yapf3)](https://pypi.org/project/pytest-yapf3/)
        [![Format](https://img.shields.io/pypi/format/pytest-yapf3)](https://pypi.org/project/pytest-yapf3/)
        [![Status](https://img.shields.io/pypi/status/pytest-yapf3)](https://pypi.org/classifiers/)
        [![Download](https://img.shields.io/pypi/dm/pytest-yapf3)](https://pypi.org/project/pytest-yapf3/)
        [![MIT](https://img.shields.io/pypi/l/pytest-yapf3)](https://github.com/yanqd0/pytest-yapf3/blob/master/LICENSE)
        
        ```sh
        pip install pytest-yapf3
        ```
        
        Requires:
        
        - Python 3.6 or above
        - Pytest 5.4 or above
        
        If someone use this with Python 3.5 or Pytest less than 5.4, set `'pytest-yapf3<0.6.0'`.
        
        ## Usage
        
        Modify `setup.cfg` (or `pytest.ini`):
        
        ```ini
        [tool:pytest]
        addopts =
            --yapf
            --yapfdiff
        yapf-ignore =
            setup.py
            src/package/auto_generated/**.py
        ```
        
        Add `--yapf` to [pytest] configuration `addopts`.
        If run with `pytest -m yapf`, only `yapf` is checked.
        
        By default, only line summaries is displayed.
        With an optional `--yapfdiff`, a full text of `yapf -d` is displayed.
        If not configured here, `pytest --yapfdiff` will also work.
        
        An optional `yapf-ignore` is supported.
        Each line specifies a glob pattern of files which should not check `yapf`.
        
        The `pytest` will cache success results of pytest-yapf3, and will not check again if files not changed.
        Sometimes you may want to disable it.
        There are 2 ways:
        
        - `pytest -p no:cacheprovider`
            This may crash if any other pytest plugin not supports.
        - `rm -rf .pytest_cache/v/yapf`
            This is ugly, but safe for any environment.
        
        ## Features and Todos
        
        - [x] Basic support to validate `yapf`.
        - [x] Fix the diff line count error and improve the performance.
        - [x] Display `YAPF-check` as the error session name.
        - [x] Display `YAPF` in `pytest --verbose`.
        - [x] Add `yapf` as a marker to enable `pytest -m yapf`.
        - [x] Support `yapf-ignore` to ignore specified files.
        - [x] Skip running if a file is not changed.
        - [x] 100% test coverage.
        
        ## Develop
        
        Prepare the environment:
        
        ```sh
        pipenv install --dev
        pipenv shell
        ```
        
        Run test:
        
        ```sh
        pytest
        ```
        
        ## Badge
        
        Like [black], if your project always pass yapf checking provided by this project,
        you can use an unofficial badge to show off.
        
        [black]:https://github.com/psf/black#show-your-style
        
        ### Markdown (README.md)
        
        ```markdown
        [![Code style: yapf](https://img.shields.io/badge/code%20style-yapf-blue)](https://github.com/google/yapf)
        ```
        
        ### reStructuredText (README.rst)
        
        ```rst
        .. image:: https://img.shields.io/badge/code%20style-yapf-blue
            :target: https://github.com/google/yapf
            :alt: Code style: yapf
        ```
        
        ## License
        
        > The MIT License (MIT)
        >
        > Copyright (c) 2019~2020 Yan QiDong
        
        This repository is forked from [pytest-yapf] in 2019, which is [not maintained] since 2017.
        Besides extra features, the project structure is adjusted,
        and the code is enhanced to pass linters like flake8, pylint and, of course, yapf.
        
        The `3` in `pytest-yapf3` means this package supports Python 3 only.
        
        [pytest-yapf]:https://github.com/django-stars/pytest-yapf
        [not maintained]:https://github.com/django-stars/pytest-yapf/issues/1
        
        # Change Log
        
        ## Release 0.6.1
        
        - Fix cache missing.
        
        ## Release 0.6.0
        
        - Upgrade pytest to 5.4+, fix a warning.
        - Support python 3.6+ only, abandon 3.5
        - Use Pipfile with `pipenv`
        
        ## Release 0.5.1
        
        - Fix coverage missing lines.
        - 100% test coverage.
        - Fix a crash when yapf crash.
        - Change development status to stable.
        
        ## Release 0.5.0
        
        - Skip running if a file is not changed.
        - Add more usage description in README.
        
        ## Release 0.4.0
        
        - Add `yapf` as a pytest marker to enable `pytest -m yapf`
        - Support `yapf-ignore` to ignore specified files
        - Fix a probabilistic issue caused by `\r`
        
        ## Release 0.3.0
        
        - Display `YAPF-check` as the error session name
        - Display `::YAPF` in `pytest --verbose`
        
        ## Release 0.2.0
        
        Since forked from [pytest-yapf](https://pypi.org/project/pytest-yapf/) `0.1.1`, there are some improvements:
        
        - Restructure the project and rewrite documents
        - Support Python 3.4+ only
        - Add linters to pytest, and fix their errors
        - Fix the line count error
        - Change build configurations in [Travis] and [AppVeyor]
        - Support coverage and displayed in [codecov]
        
        [Travis]:https://travis-ci.org
        [AppVeyor]:https://appveyor.com
        [codecov]:https://codecov.io
        
Keywords: pytest,yapf
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Pytest
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Testing
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.6
Description-Content-Type: text/markdown
