|
|
|
|
|
by makmanalp
2770 days ago
|
|
Argh, it's so frustrating to see this kind of sentiment. We're truly spoiled by choice. The libraries don't all serve the same purpose, and not everyone needs every library. This is literally a guide to help pick which one I may want. What more could one ask for?? That said, I understand it sucks to build on top of someone else's code only to have it be discontinued, but honestly it only takes a few minutes to judge a project's maturity. Here are some very easy rules of thumb. Don't write a lot of important code relying on a library that: - Is younger than 3 years old.
- Has less than 3-4 major contributors and 20 overall contributors.
- Has lost steam: a lot of issues and pull requests open and stale with no triage tags, no discussion or responses.
- Doesn't seem to have any automated testing / packaging infrastructure set up.
- Doesn't seem to have a regular ongoing cycle of releases, be it long or short.
- Doesn't have nicely laid out documentation.
- Doesn't seem to have a user base, as indicated by a preponderance of questions and answers on stackoverflow, etc.
- Just posted their "we made a cool new thing" post on HN a few weeks ago. Yes, the cutoffs are arbitrary (and flexible!), but this hasn't failed me yet. The python world is filled with many wonderful and mature libraries. It just also has a lot of up and coming, promising young ones. Use whichever! |
|
A refactoring and merging of these libraries to enable fewer people to maintain more functionality, such that the bus-factor of any given part of the functionality is higher.