pytest-dev / pytest-dev/pytest

Dynamically generate plugins table with sortable columns

Open
#11,232 5 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: docs type: proposal
Dominant language
Python
Stars
14.5k
Forks
3.4k
Avg merge
2d 9h
Merged PRs (30d)
35

Description

With almost 1300 plugins in the plugin list, it's pretty much impossible to browse through it... you can search for things if you know what you're looking for, but it's impossible to really find anything new. There are just too many plugins there which happen to be on PyPI but aren't really meant for public usage; or e.g. various joke plugins (I'm guilty of that one!).

Someone at Europython 2023 proposed to me that we sort it by popularity instead. I feel like it's a good idea! I recognize the downside that it makes it even harder for unpopular plugins to gain popularity, but then again, that seems better than making it harder for plugins that start with a z...

To get the data, we could use the PyPI Stats API - or perhaps, if 1300 plugins is too big of a hit against that, query the data ourselves. I suppose the latter would be preferrable.

If people don't object to this, and someone at Europython 2023 wants to pair up at the Sprints to give this a try (newcomers very much welcome!), let me know.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the plugin list at https://docs.pytest.org/en/latest/reference/plugin_list.html and determine how that page is generated. Compare the PyPI Stats API with the packaging guide's download-analysis approach, then define how the data and sortable columns should be produced; done means the roughly 1,300 plugins can be browsed and sorted by popularity.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.