-
Notifications
You must be signed in to change notification settings - Fork 29
Add flake8 config and GitHub Actions workflow for linting.Add python linter #325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
|
Hi! This PR adds flake8 linting configuration and a GitHub Actions workflow as discussed in issue #68. Please review when you have a chance. Thanks! |
jakebeal
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should not merge this until the linter is passing: this means either fixing issues or marking them as known issues with a TODO linked to a followup issue.
| @@ -0,0 +1,3 @@ | |||
| [flake8] | |||
| max-line-length = 88 | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you look at https://github.com/SynBioDex/SBOL-utilities/blob/develop/setup.cfg , you will see we have been using 120 as the line length on this project.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @jakebeal,
As you mentioned, I’m planning to update the .flake8 config to use max-line-length = 119 to align with the project’s existing style.
Also, I wanted to ask if you recommend installing the code formatter Black as part of the workflow. I found almost 400 linting errors, so using Black might help automatically fix many of these and keep the code style consistent across the project.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you - I've been noticing the updated, but holding off on re-reviewing until you comment that it is ready.
With regards to Black: I've used it before, and we ended up deciding that it was too restrictive. It's a good suggestion though, and I appreciate you making the suggestion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I want to share a quick update on my current approach to fixing the linting issues. I'm using the flake8 tool to identify style and syntax problems in the code, and I'm applying the fixes based on its feedback, with the help of ChatGPT to ensure the changes follow the project's style.
I'm not using any automatic code formatters like Black—instead, I'm manually addressing the issues flagged by flake8 to stay aligned with the project's conventions.
Please let me know if you have any suggestions or if you'd recommend continuing with this approach.
Thank you again for your guidance!
1225280 to
c8acb24
Compare
This pull request adds automated Python code quality checks to the project by:
Adding a .flake8 configuration file to enforce coding style rules (e.g., max line length, excluded folders).
Adding a GitHub Actions workflow (.github/workflows/lint.yml) that runs flake8 on every push and pull request to the develop branch.
The workflow helps catch style and syntax issues early, improving code quality and consistency.
This addresses the issue #68 "Add python linter" by integrating linting into the CI process without auto-formatting, so developers can fix lint errors themselves.