Skip to content
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

Proposal to archive this project recommending Flake8-isort instead #163

Open
pgjones opened this issue Dec 31, 2018 · 11 comments
Open

Proposal to archive this project recommending Flake8-isort instead #163

pgjones opened this issue Dec 31, 2018 · 11 comments

Comments

@pgjones
Copy link
Member

pgjones commented Dec 31, 2018

Flake8-isort seems to be a better choice than this project, as it is fully customizable (a common request), has the ability to auto-format the imports via isort directly, and able to reproduce all the current styles in this project. Therefore I think this projects readme be changed to recommend Flake8-Isort with the configurations that match the styles and then this project be archived. It would be good to know your thoughts.

@sigmavirus24
Copy link
Member

sigmavirus24 commented Dec 31, 2018

I would personally continue using this project over isort even if it were "archived". I've personally had consistently negative, borderline making me want to quit the community, experiences with the author/maintainer of isort. Furthermore, the Flake8-isort plugin does not use Flake8 config which is a drastic departure from this plugin. It checks its own locations for configuration and handles that separately which means that as a plugin, it is barely pretending to be one. This plugin means that I can configure the entirety of my project's style guidelines inside the [flake8] section and I don't need to remember "Oh right this plugin puts something in an entirely separate file with a different section name". I've also learned recently that everything in setup.cfg that has substitutions (used for custom Flake8 formatting) gets auto-interpolated and things crash if it can't.

Whether or not you continue developing this project is one thing. I would strongly advise not recommending flake8-isort to be a replacement though.

Edit: Further, the plugin (flake8-isort) is licensed as GPL v2 which is a deal-breaker for a lot of people. In short, I suspect there will be a large group of people who want to stick to using this plugin.

@pgjones
Copy link
Member Author

pgjones commented Mar 2, 2019

These are very good points, and I've been unsure how best to respond.

I think that for users wanting different styles to those offered by this project or any extra customizations flake8-isort is a better choice as I don't see a need to re-implement those features in this project. Practically then I think #153 should be closed.

Given your points I think it would be best for this project to be maintenance only i.e. no new features. Practically then I think #161 should be closed and #165 merged.

@sigmavirus24
Copy link
Member

maintenance-only makes perfect sense to me. Besides, new styles can be implemented as plugins iirc so if people want new styles, they can be released separately instead of being pushed into here (as I pointed out on a few other PRs).

@tony
Copy link

tony commented Oct 10, 2019

Edit: Further, the plugin (flake8-isort) is licensed as GPL v2 which is a deal-breaker for a lot of people. In short, I suspect there will be a large group of people who want to stick to using this plugin.

Agreed.

We need a fork of flake8-isort, a potential license change, or something equivocal.

@hydrargyrum
Copy link

isort forces alphabetical sort, which one might not care about (as in pep8 style), so isort is not a proper replacement.

@SwampFalc
Copy link

For what it's worth, I proposed a pull request for flake8-isort gforcada/flake8-isort#86 that would allow it to use a flake8 config file.

After discussion with the maintainer they preferred to use another pull request that allowed it to use an existing isort configuration file. Some discussion was had as to which approach was preferred in which situation... Anyway, the pull request is still available and is quite simple to apply if desired. And if anyone is ever serious about a fork, let me know.

@timothycrosley
Copy link
Member

@sigmavirus24,

I'm extremely sorry for any negative interaction. This is the first time I've stumbled into a comment when doing research for an open source project, that I've felt sad. You've done so much for the community and the thought that I would have done something that would make you want to quit that community makes me feel sick.

~Timothy

@Dreamsorcerer
Copy link
Contributor

Dreamsorcerer commented Feb 12, 2021

I've been using this project because I find flake8-isort to be completely unusable unless you are actually running isort to fix your imports (and I'm against running tools which modify my code automatically).

All it outputs is:
I005 isort found an unexpected missing import

That's of no use to me (not only does it give no information about the correct import, it's also wrong as the imports are in the wrong order, not missing).

@tlocke
Copy link

tlocke commented Apr 12, 2021

I'm a big fan of Flake8 Import Order, so since it looks like this project may be archived or go into maintenance-only, I've written Flake8 Alphabetize https://github.com/tlocke/flake8-alphabetize. It's designed to work with the Black formatter and also sorts the __all__ list. I've tried to make Flake8 Alphabetize work in a similar way to Flake8 Import Order. Apart from looking at __all__ a big difference with Flake8 Import Order is that Flake8 Alphabetize is designed to only support one style. Hope this is helpful :-)

@tony
Copy link

tony commented Aug 10, 2022

☝️ https://github.com/tlocke/flake8-alphabetize is now MIT 0 Attribution (LICENSE)

As for flake8-isort, I think one blocker to most users is the GPL: gforcada/flake8-isort#56. If the author isn't flexible or open to addressing that, we may need to go for flake8-alphabetize, or fix this one, or something else.

If I had a magic wand we'd just merge the effort to a permissively licensed project so we're not reinventing the wheel - but it's never so simple 😆

@public
Copy link
Member

public commented Aug 10, 2022

If someone wants to take over maintenance of this project I'm sure it can be arranged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants