flake8 has many plugins which are commonly used in the python development community. flake8 is a wrapper, similar to coala, that provides the AST to its plugins. Instead of coala using the flake8 wrapper, which adds another level of complexity and uncertainty with regards to configuration, coala would like to directly load the python-enhanced AST and invoke the plugins.

This allows the coala and flake8 communities to cooperate on plugin development using a common plugin framework.

This project focuses on integrating the pyflakes-enhanced AST into coala and redesign flake8 plugins flake8-future-import and flake8-builtins so that they use pyflakes-enhanced AST. A seperate wrapper is also needed to be designed so that the pre-existing plugins can work without any modification.

This project involves creating a meta bear like AnnotationBear and ClangBear, say PyflakesASTBear. Then use this bear to redesign the flake8 AST plugins. Then create a seperate meta bear that wraps flake8 and allows to invoke existing flake8 plugins. Tutorials for writing and testing bears can be found in our documentation.

The flake8 plugins needed to installed can be added to a dynamically created venv. Check out this issue.

Milestones

PREPARARION/BONDING
  • The participant should understand the concept of how to integrate pyflakes-enhanced AST into coala by writing a meta-bear and how to use this meta-bear to wrap the flake8 plugins.
CODING PHASE 1
  • Integrate pyflakes-enhanced AST into coala by writing a meta bear i.e PyflakesASTBear.
  • Write tests for the meta-bear.
  • Document the meta-bear.
CODING PHASE 2
  • Write bears that provides functionality of flake8-future-import and flake8-builtins using PyflakesASTBear.
  • Write tests for the resulting bears.
  • Document the resulting bears.
CODING PHASE 3
  • Write a bear that wraps flake8 so that pre-existing plugins can work as it is.
  • Write tests for the resulting bear.
  • Document the meta-bear.

results matching ""

    No results matching ""