Proposal: Flake8-contracting Plugin

Ruff is an extremely fast Python linter and code formatter, written in Rust. Considering its speed, recent popularity, IDE integration, and how you can extend its functionality by adding your own rules, I wanted to add contracting linting rules so we could have linting in popular IDEs. However, the rust language and how the ruff codebase is structured poses a challenge to someone who is not proficient in rust.

I had to look around for an easy way and I found that flake8 supported plugins and had good integration with popular IDEs. Going through flake8 docs, some plugin GitHub repos, and tutorials, I learned it will be a more straightforward task. Flake8 and its plugins are written in python just as the contracting linter is written in python.

I write to declare that I would love to work on this (in my spare time). I am open to opinions and suggestions.

1 Like

That’s a great idea. Ruff is hyped right now and not without a reason but not like we need that specifically.

Flake8 is for sure fine and it would be super nice to have that so we can integrate it into IDEs.

Really cool that you want to work on that! Love it :slight_smile:

1 Like

If you need help with anything, I’d love to help you.

2 Likes

Guys, here is the link to Flake8-contracting repo. I made it!

1 Like

This is great, do you mind including some instructions in the repo how to use it ?

There are prerequisites and installation instructions. Would you like me to add more details?

Some context around how to use it / test it would be helpful

I have added more flesh to the installation section and introduced an important section called ignoring some errors/violations. I think this is enough to get everyone started

1 Like