Skip to main content

A plugin for flake8 to enable linting .pyi files.

Project description

A plugin for Flake8 that provides specializations for type hinting stub files, especially interesting for linting typeshed.

Functionality

  1. Adds the .pyi extension to the default value of the --filename command-line argument to Flake8. This means stubs are linted by default with this plugin enabled, without needing to explicitly list every file.

  2. Modifies PyFlakes runs for .pyi files to defer checking type annotation expressions after the entire file has been read. This enables support for first-class forward references that stub files use.

The latter should ideally be merged into flake8 as the integration is currently pretty brittle (might break with future versions of pyflakes, flake8, or due to interactions with other overly clever plugins).

List of warnings

Currently this plugin doesn’t add any warnings of its own. It does reserve codes starting with Y0.

License

MIT

Tests

Just run:

python3.6 setup.py test

Note: tests require 3.6+ due to testing variable annotations.

Change Log

16.12.2

  • handle annotated assignments in 3.6+ with forward reference support

16.12.1

  • handle forward references during subclassing on module level

  • handle forward references during type aliasing assignments on module level

16.12.0

  • first published version

  • date-versioned

Authors

Glued together by Łukasz Langa.

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

flake8-pyi-16.12.2.tar.gz (5.1 kB view hashes)

Uploaded Source

Built Distributions

flake8_pyi-16.12.2-py35.py36-none-any.whl (6.2 kB view hashes)

Uploaded Python 3.5 Python 3.6

flake8_pyi-16.12.2-py3.6.egg (6.9 kB view hashes)

Uploaded Source

Supported by

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