Open pgjones opened 5 years ago
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.
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.
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).
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.
isort forces alphabetical sort, which one might not care about (as in pep8 style), so isort is not a proper replacement.
For what it's worth, I proposed a pull request for flake8-isort https://github.com/gforcada/flake8-isort/pull/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.
@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
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).
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 :-)
☝️ 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: https://github.com/gforcada/flake8-isort/issues/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 😆
If someone wants to take over maintenance of this project I'm sure it can be arranged.
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.