Metadata-Version: 2.0
Name: frosted
Version: 1.0.1
Summary: A passive Python syntax checker
Home-page: https://github.com/timothycrosley/frosted
Author: Timothy Crosley
Author-email: timothy.crosley@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.0
Classifier: Programming Language :: Python :: 3.1
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Requires: pies
Requires-Dist: pies (>=2.5.5)

|frosted|
=========

|PyPI version| |PyPi downloads| |Build Status| |Bitdeli Badge|

Frosted is a fork of pyflakes that aims at more open contribution from
the outside public, a smaller more maintainable code base, and a better
Python checker for all.

Installing Frosted
==================

Installing Frosted is as simple as:

::

    pip install frosted --upgrade

or if you prefer

::

    easy_install frosted

Using Frosted
=============

from the command line:

::

    frosted mypythonfile.py mypythonfile2.py

or recursively:

::

    frosted -r .

*which is equivalent to*

::

    frosted **/*.py

or to read from stdin:

::

    frosted -

from within Python:

::

    import frosted

    frosted.api.check_path("pythonfile.py")

What makes Frosted better then pyflakes?
========================================

The following improvements have already been implemented into Frosted

-  Several improvements and fixes that have stayed open (and ignored) on
   mainline pyflakes have been integrated.
-  Lots of code has been re-factored and simplified, Frosted aims to be
   faster and leaner then pyflakes ever was.
-  Frosted adds the ability to configure which files you want to check,
   and which errors you don't care about. Which, in my opinion, is a
   must have feature.
-  Frosted implements the .editorconfig standard for configuration. This
   means you only need one configuration file for isort, frosted, and
   all the code editors anybody working with your project may be using.
-  Frosted uses a more logical, self-documenting, and standard terminal
   interface. With pyflakes the default action without any arguments is
   to do nothing (waiting for stdin) with Frosted you get an error and
   help.
-  Frosted switched from Java style unittests to the more Pythonic
   py.test (I admit this is highly subjective).
-  The number one reason frosted is better is because of you! Or rather,
   the Python community at large. I will quickly respond to any pull
   requests, recommendations, or bug reports that come my way.
-  Frosting. Duh.

And it will only get better from here on out!

Configuring Frosted
===================

If you find the default frosted settings do not work well for your
project, frosted provides several ways to adjust the behavior.

To configure frosted for a single user create a ~/.frosted.cfg file:

::

    [settings]
    skip=file3.py,file4.py
    ignore_frosted_errors=101,105,110

Additionally, you can specify project level configuration simply by
placing a .frosted.cfg file at the root of your project. frosted will
look up to 25 directories up, from the one it is ran, to find a project
specific configuration.

You can then override any of these settings by using command line
arguments, or by passing in kwargs into any of the exposed api checking
methods.

Finally, frosted supports editorconfig files using the standard syntax
defined here: http://editorconfig.org/

Meaning You can place any standard isort configuration parameters within
a .editorconfig file under the \*.py section and they will be honored.

Frosted Error-codes
===================

Frosted recognizes the following errors when present within your code.
You can use the 'ignore\_frosted\_errors' setting to specify any errors
you want Frosted to ignore.

-  **100**: Generic Message
-  **101**: UnusedImport
-  **102**: RedefinedWhileUnused
-  **103**: RedefinedInListComp
-  **104**: ImportShadowedByLoopVar
-  **105**: ImportStarUsed
-  **106**: UndefinedName
-  **107**: DoctestSyntaxError
-  **108**: UndefinedExport
-  **109**: UndefinedLocal
-  **110**: DuplicateArgument
-  **111**: Redefined
-  **112**: LateFutureImport
-  **113**: UnusedVariable
-  **114**: MultipleValuesForArgument
-  **115**: TooFewArguments
-  **116**: TooManyArguments
-  **117**: UnexpectedArgument
-  **118**: NeedKwOnlyArgument
-  **119**: ReturnWithArgsInsideGenerator

Frosted Code API
================

Frosted exposes a simple API for checking Python code from withing other
Python applications or plugins.

-  frosted.api.check (codeString, filename,
   reporter=modReporter.Default, \*\*setting\_overrides) Check the
   Python source given by codeString for unfrosted flakes.
-  frosted.api.check\_path (filename, reporter=modReporter.Default,
   \*\*setting\_overrides) Check the given path, printing out any
   warnings detected.
-  frosted.check\_recursive (paths, reporter=modReporter.Default,
   \*\*setting\_overrides) Recursively check all source files defined in
   paths.

Additionally, you can use the command line tool in an API fashion, by
passing '-' in as the filename and then sending file content to stdin.

Why did you fork pyflakes?
==========================

Pyflakes was a great project, and introduced a great approach for
quickly checking for Python syntax errors. I am very grateful to the
original creators. However, I feel over the last year it has become
stagnate, without a clear vision and someone willing to take true
ownership of the project. While I know it is in no way intentional,
critical failures have stayed open, despite perfectly complete and valid
pull-requests open, without so much as an acknowledgement from the
maintainer. As I genuinely believe open source projects need constant
improvement (releasing early and often), I decided to start this project
and look for as much input as possible from the Python community. I'm
hoping together we can build an even more awesome syntax checker!

Note: the maintainer of pyflakes has been added as a contributer to
frosted.

--------------

Thanks and I hope you enjoy the new Frosted pyflakes!

~Timothy Crosley

.. |frosted| image:: https://raw.github.com/timothycrosley/frosted/master/logo.png
.. |PyPI version| image:: https://badge.fury.io/py/frosted.png
   :target: http://badge.fury.io/py/frosted
.. |PyPi downloads| image:: https://pypip.in/d/frosted/badge.png
   :target: https://crate.io/packages/frosted/
.. |Build Status| image:: https://travis-ci.org/timothycrosley/frosted.png?branch=master
   :target: https://travis-ci.org/timothycrosley/frosted
.. |Bitdeli Badge| image:: https://d2weczhvl823v0.cloudfront.net/timothycrosley/frosted/trend.png
   :target: https://bitdeli.com/free


