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.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/vinta/awesome-python/pull/1646
**Author:** [@seifertm](https://github.com/seifertm)
**Created:** 10/2/2020
**Status:** 🔄 Open
**Base:** `master` ← **Head:** `code-analysis-framework-fixit`
---
### 📝 Commits (1)
- [`b4dd36c`](https://github.com/vinta/awesome-python/commit/b4dd36c371031b2427ed32074e9d349310a6832d) Add fixit to code analysis tools.
### 📊 Changes
**1 file changed** (+1 additions, -0 deletions)
<details>
<summary>View changed files</summary>
📝 `README.md` (+1 -0)
</details>
### 📄 Description
## 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.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/vinta/awesome-python/pull/1646
Author: @seifertm
Created: 10/2/2020
Status: 🔄 Open
Base:
master← Head:code-analysis-framework-fixit📝 Commits (1)
b4dd36cAdd fixit to code analysis tools.📊 Changes
1 file changed (+1 additions, -0 deletions)
View changed files
📝
README.md(+1 -0)📄 Description
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
astorastroidmodules 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.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.