描述
Hi! I'm the new and (afaik) sole active maintainer of pipreqs. As you may have noticed, this package has been kinda abandoned in the last couple years. Well, I intend to change this and I would like to share my plan/vision with the community.
Pipreqs current state
I've been closing a few issues and merging some PR's and I've noticed that most of them are quite old and/or duplicated. I've tried engaging with older issues but (understandably) I've been mostly ignored since people have probably moved on and don't remember or care about a 3 years old issue. Apart from these older issues there quite a few duplicated issues which can be divided in feature requests (e.g. jupyter support) and mappings (e.g. package foobar is missing from my requirements). The mapping problems are by far the majority of issues being reported, but attacking them feels like a wack-a-mole game where we just can't win and they just keep piling up.
Where do we go from here?
The time I can dedicate to this project is limited since I have a thesis to write and other obligations in life, so instead of addressing the symptoms I would like to attack the source of our problems, i.e. our mapping system.
To be honest I'm not yet sure of the best way to address this, I think there are a few easy improvements that could be made but they are mostly band-aids, ideally we would completely remove the mapping file since this is a solution that does not scale very well. I'm open to suggestions on how to deal with this, but in the mean time I think I will make a PR template for adding package remapping and improve the documentation regarding this issue so users don't have to look at the source code to figure out why they have a missing package.
These are my goals for the next release of pipreqs:
- Add =~ and >= support
- Drop support for python 2
- Update pipreqs to python 3.9 (add missing standard lib packages, bump travis testing versions, etc)
- Add support for .ipynb and .pyw files
- Add FAQ for common problems with package mapping
- Get rid of the mapping system (this may be pushed to a second release if this takes to long)
I will mostly dedicate my time to implement these changes, I won't be looking too much at the open issues and PR's made so I'm sorry if you end up being ignored. All development will be done in the next branch in order to keep the master branch synchronized with the latest release.
PS: I know there are a few open PR's that tackle some of these issues, but I have a few issues with them. I will contact the authors with my grievances and suggestions but some of them are quite old and I doubt they are still interested, nevertheless I will probably use them as a starting point.