- Python 98%
- Shell 2%
| data | ||
| LICENSES | ||
| src/awpr | ||
| .gitignore | ||
| .woodpecker.yml | ||
| check.sh | ||
| install.sh | ||
| pyproject.toml | ||
| README.md | ||
| REUSE.toml | ||
| test.sh | ||
AWPR - Tool for managing lists of AWesome PRojects
There's quite some lists out in the web of 'awesome projects' related to a certain topic. Sometimes people use markdown files, sometimes plain html, mediawiki etc. This project here provides a few simple scripts to keep such lists in a more structured manner. You can collect your favourite projects in a YAML file, add git url, website, references, categories, description etc. On top of that, the structured information allows to generate other representations (markdown, mediawiki) and perform some analysis like plotting a the contributer network.
Install awpr
git clone [this repo]
cd [this repo]
pip install .
awpr --help # See documentation of awpr
or
pip install git+https://codeberg.org/fsi/awpr
Analysis tools
The structured information in the YAML files is meant to be analyzed with a variety of tools.
The awpr (awesome projects) tool is intended for this purpose.
Analyze git repositories
awpr can dig into the metadata of git repositories for further analysis of
the contributor network and project activity.
By default, awpr will fetch only the history of the git repositories and not the content.
This makes it much faster and does not use too much disk space.
Example: plot contributor network
AWPR_REPOS=/scratch/awpr-repos
mkdir $AWPR_REPOS
# Clone and/or fetch all git repositories
awpr git-fetch -i data/*.yaml -d $AWPR_REPOS
# Extract contributor network
# Inspect only the latest 100 commits per remote and
# limit the authors to the top 4 with the most commits.
# (without limits, graphviz might be slow)
awpr contributor-graph \
-i data/*.yaml \
-d $AWPR_REPOS \
--top-k 4 \
--commit-limit 100 > authors.dot
# Convert the .dot format into an .svg
fdp -Tsvg -O authors.dot
# Open the SVG with your favourite SVG viewer (browsers are fast and good).
xdg-open authors.dot.svg