| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Benchmarking the performance of different Python package managers via GitHub Actions.
The list of packages comes from Sentry's requirements.txt file which was chosen arbitrarily as a non-trivial real-world example.
Additional package managers are welcome (see Contributing below). At a minimum, they should be able to generate a lock file for the dependency set and download/install the dependencies locally.
For more background, see https://lincolnloop.com/blog/python-package-manager-shootout/.
The following operations are measured in the benchmark:
Results can be seen at https://lincolnloop.github.io/python-package-manager-shootout/ and in the summary for each individual GitHub Action run. An artifact named stats is created which contains the results in CSV and SQLite format.
The Makefile defines all the operations used in the benchmark. Any package-manager specific code should be modified there. The workflow (.github/workflows/benchmark.yml) is generated programmatically and is the same for each package manager.
To add a new package manager:
The website is a static site deployed to GitHub Pages. As part of the deployment it downloads stats from the previous four benchmarks (run every 6 hours in GitHub Actions), calculates the average, and rebuilds the website. The code for this is in site and .github/workflows/deploy.yml. The site will automatically rebuild after the benchmarks run, but it can also be triggered by pushing to the deploy/site branch.
| Back | FazBrowse Home | New Git URL |