Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A awesome-python
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 13
    • Issues 13
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 317
    • Merge requests 317
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Vinta Chen
  • awesome-python
  • Merge requests
  • !1646

[code analysis tools] Add fixit

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Administrator requested to merge github/fork/seifertm/code-analysis-framework-fixit into master Oct 02, 2020
  • Overview 1
  • Commits 1
  • Pipelines 1
  • Changes 1

Created by: seifertm

What is this Python project?

Fixit allows the creation of custom lint rules, just like flake8 or pylint. In addition, fixit allows developers to apply code transformations, similar to 2to3.

What's the difference between this Python project and similar ones?

flake8/pyflakes and pylint use the ast or astroid modules to analyze the source code. The resulting abstract syntax tree is missing information, such as whether a string was surrounded by single or double quotes, or the number of whitespaces between two tokens. Fixit is based on libCST, which uses a concrete syntax tree as its base representation and retains all formatting.

Therefore, Fixit is not just a framework for lint rules, but a framework for code transformations. This can be used to enforce coding conventions or to ascertain certain properties of the source code like HTTP request timeouts.

--

Anyone who agrees with this pull request could submit an Approve review to it.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/seifertm/code-analysis-framework-fixit