Skip to content

Latest commit

 

History

History
221 lines (187 loc) · 8.88 KB

TODO.md

File metadata and controls

221 lines (187 loc) · 8.88 KB

APA TODO

Adding projects

Always looking for more awesome, so if you think you've found one we missed, just file an issue and use the template! See CONTRIBUTING.md for details.

See the Candidates section of this document for a queue of applications in need of review. Ideally each of these would be moved to either the primary list, the archive, or the revisit lists.

Adding other information and structure

Backfill URLs

Used to be we didn't collect as many links as we do now. For instance, many projects have documentation, but we don't have a link to them.

Links we probably missed and should backfill:

  • PyPI
  • Wikipedia
  • Funding

Some of this might be doable (semi-)automatically, using Apatite.

Apatite

These documents are generated and managed with a purpose-built CLI tool, apatite. Apatite has its own TODO, which at the time of writing includes fun programmatic tasks like autochecking links. The list has nearly a thousand links at the time of writing, and we don't want to turn into a link graveyard like some lists/wiki pages of yore.

Taxonomy

Right now some topics are bursting at the seams with projects, and there are still many projects in "misc" categories. More structure would help keep the list navigable.

Maintenance

  • Right now integration is manual, so CI would be great.
    1. Validate PRs.
    2. Push back rendered changes straight from CI so users don't need apatite installed.
    3. Automate maintenance of the dataset used to in the included analysis notebook. (this is a doozy, will probably involve creating a huge, pre-warmed up container with 37GB+ repos for it to execute in reasonable time)

Long-term vision

There are a lot of directions to take this data and related findings.

Wikidata

I would like to see this list used to populate a list of notable Python software projects to Wikidata. Someone has to do the curation here, why not us?

Another direction would be to have a static site with search, filters, and more. The goal here being that users will be able to more quickly find applications which look like their own, and contain answers to questions that are hard to search otherwise (e.g., what does a dockerfile look like for full-fledged applications, what are secret management solutions that scale down to small projects, etc.)

Discovery

Finding applications can be tricky, as sites like GitHub and PyPI are more geared toward libraries, and app stores tend not to differentiate between open/closed source and Python/non-Python projects.

So, it can be a fun treasure hunt of poring over application lists. There's one such list below, as well as other resources that still need mining to keep the candidate list below growing.

Pages to trawl

Pages trawled

Hardly the only sources, but mostly so others don't spend their time mining a spent resource.

Other lists

This is hardly the first attempt to curate a list of Python software. Here are some other lists we've covered, and how they compare to the APA.

  • Wikipedia (https://en.wikipedia.org/wiki/List_of_Python_software)
    • No clear curation
    • Unstructured
  • Wikidata
    • Lack of browsability
    • Incomplete dataset
    • Hard to curate
  • wiki.python.org
    • Too many dead links and projects to count
    • Unstructured
    • Infrequent curation
    • Overinclusivity, minimal criteria
    • Unclear focus of "written in Python" and "supports Python" (in the case of IDEs/plugins)
    • Blurry on open-source and applications
  • Awesome Python (https://github.com/vinta/awesome-python)
    • 98% libraries and frameworks for developer consumption, not exemplar applications
  • http://pythonsource.com/
    • Good, but mingles applications with libraries/frameworks/engines
    • Unclear curatorship
    • No API
  • Softpedia
    • All of the above (esp mingling libraries and applications)
  • AlternativeTo
    • Pretty nice site focused on applications, but still suffers from most of the above, esp the lack of an API.

Current Candidates