Skip to main content

Validate your Python file format with yapf

Project description

pytest-yapf3

Travis AppVeyor codecov

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.

Install

Version Python Format Status Download MIT

pip install pytest-yapf3

Usage

Modify setup.cfg (or pytest.ini):

[tool:pytest]
addopts =
    --yapf
    --yapfdiff
yapf-ignore =
    setup.py
    src/package/auto_generated/**.py

Add --yapf to pytest configuration addopts. By default, only line summaries is displayed. With --yapfdiff, a full text of yapf -d is displayed.

An optional yapf-ignore is supported. Each line specifies a glob pattern of files which should not check yapf.

Features and Todos

  • Basic support to validate yapf.
  • Fix the diff line count error and improve the performance.
  • Display YAPF-check as the error session name.
  • Display YAPF in pytest --verbose.
  • Add yapf as a marker to enable pytest -m yapf.
  • Support yapf-ignore to ignore specified files.
  • Skip running if a file is not changed.
  • 100% test coverage.

Develop

Prepare the environment:

source your/virtual/env
pip install -e .[dev]

Run test:

pytest

License

The MIT License (MIT)

Copyright (c) 2019 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.

Change Log

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 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

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-yapf3-0.4.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

pytest_yapf3-0.4.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file pytest-yapf3-0.4.0.tar.gz.

File metadata

  • Download URL: pytest-yapf3-0.4.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.1

File hashes

Hashes for pytest-yapf3-0.4.0.tar.gz
Algorithm Hash digest
SHA256 96de4d269433b1747cec85ffd2a170eef9162dbace78835415a37b31da3c664a
MD5 b555b88a6f8c978ce7eb3bae65417b36
BLAKE2b-256 c2d813da0e3876ecba839c3069f4c5bf1c8be0deb039b41e9bc0532156c87f1f

See more details on using hashes here.

File details

Details for the file pytest_yapf3-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: pytest_yapf3-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.7.1

File hashes

Hashes for pytest_yapf3-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e26eb30d913c168cec2d6e77274a739ab9e54a7358782cfcb1b8f2c3e1a8df30
MD5 32504a3ee03ef3d564e7721e8da1e829
BLAKE2b-256 2dc0f320f5b80b6d624b333cbf1d26b2727dd39e0f2511141ad56763df990d5d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page