npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

grunt-flake8

v0.1.3

Published

Lint your Python projects with flake8

Downloads

16

Readme

grunt-flake8

Lint your Python projects with flake8. [flake8] is a linting tool for project that combines PyFlakes, PEP8, and McCabe's Cyclomatic Complexity script.

Important

flake8 has its own global and project-level configurations. Any values set in your Gruntfile will override those configurations. If a value is not set in your Gruntfile configuration, flake8 will then use the available project and global level configurations.

Make sure you are running Grunt from within whatever Python virtual environment that flake8 is installed.

Getting Started

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-flake8 --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-flake8');

The "flake8" task

Overview

In your project's Gruntfile, add a section named flake8 to the data object passed into grunt.initConfig().

grunt.initConfig({
  flake8: {
    options: {
      // Task-specific options go here.
    },
    src: [
      // Files to line go here.
    ],
  },
});

Options

options.errorsOnly

Type: Boolean Default value: false

If true, the files passing flake8 will not be shown.

options.force

Type: Boolean Default value: false

If true, flake8 will not fail even if there are errors.

options.maxComplexity

Type: Integer Default value: unset

If set, flake8 will enforce a maximum cyclomatic complexity.

options.maxLineLength

Type: Integer Default value: 79

The maximum characters in a line. If you want to disable this check, add E501 to ignore.

options.select

Type: Array of String Default value: []

PEP8 rules to enforce. Use the codes given in the PEP8 documentation.

options.ignore

Type: Array of String Default value: []

PEP8 rules to ignore. Use the codes given in the PEP8 documentation.

options.hangClosing.

Type: Boolean Default value: false

Hang closing bracket instead of matching indentation of opening bracket's line.

options.format

Type: String Default value: default

The output style. 'default' and 'pylint' styles are built in by default but flake8 can accept custom output styles. See documenation.

options.showSource

Type: Boolean Default value: false

Show the source of the linting error.

options.first

Type: Boolean Default value: false

Show only the first instance of a linting error.

options.showPep8

Type: Boolean Default value: false

Show the PEP8 rule of the linting error. Overrides first configuration.

options.quiet

Type: Boolean Default value: false

Show the quiet output from flake8.

options.verbose

Type: Boolean Default value: false

Show the verbose output from flake8.

options.statistics

Type: Boolean Default value: false

Show statistics from the linting.

options.benchmark

Type: Boolean Default value: false

Show the performance information from flake8.

Usage Examples

Default Options

These options will simply flake8 all of your python files in your Grunt project.

grunt.initConfig({
  flake8: {},
    src: ['**/*.py']
  },
});

Custom Options

These options will enforce these specific rules. Note that these options will overwrite global- and project-level settings for flake8.

grunt.initConfig({
  flake8: {
    options: {
      maxLineLength: 120,
      maxComplexity: 10,
      format: 'pylint',
      hangClosing: true,
      ignore: ['W292', 'C901', 'F401']
    },
    src: ['apps/**/*.py', 'tests/test.py']
  },
});

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Contributors

Credit

Release History

v0.0.0 - Initial release.