No description
  • Python 94.3%
  • Makefile 5.7%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Zack Koppert 554f2447c6
Merge pull request #3 from github/zkoppert-patch-1
Add ci to each pull request that runs tests and lints
2025-05-30 20:38:22 -07:00
.github fix: use pinned hash in action reference 2025-05-30 20:37:02 -07:00
.gitignore ignore input/output files 2025-05-29 18:36:06 +00:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2025-05-29 12:12:07 -07:00
CONTRIBUTING.md Create CONTRIBUTING.md 2025-05-29 12:16:32 -07:00
LICENSE Initial commit 2025-05-29 11:11:11 -07:00
Makefile oss readiness 2025-05-29 22:55:50 +00:00
README.md oss readiness 2025-05-29 22:55:50 +00:00
requirements-test.txt fix: update required packages for testing 2025-05-30 20:24:53 -07:00
requirements.txt oss readiness 2025-05-29 22:55:50 +00:00
SECURITY.md Create SECURITY.md 2025-05-29 12:13:59 -07:00
test_user_engagement_metrics.py fix: do throw away in test using python kwargs 2025-05-30 20:33:39 -07:00
user_engagement_metrics.py fix: lint fixes and docstrings 2025-05-30 20:21:36 -07:00

user-engagement-metrics

How to use

  1. Put all usernames (one per line) in usernames.txt.
  2. Replace YOUR_PERSONAL_ACCESS_TOKEN with your token. (when you create the PAT, no boxes need to be checked for public works and fine grained or classic tokens both work)
  3. Run make install to install the dependencies needed to run the script.
  4. Run the script. python3 ./user_engagement_metrics.py. It will create/update:
  • user_results.jsonl with your results.
  • completed_usernames.txt to track progress.
  • NOTE: If stopped, just run again. It skips completed users when the completed-usernames.txt is present.

Example jsonl output

{"username": "zkoppert", "name": "Zack Koppert", "public_repos": 65, "followers": 340, "following": 81, "organizations": ["github", "InnerSourceCommons", "alltheavo", "super-linter"], "starred_repos": 178, "total_public_prs": 888, "total_public_issues": 287, "total_public_commits": 4666}

Make commands

There are several automated make commands to make using this tool easier!

  • make clean: This command will remove any temporary cache files
  • make reset: Use this command to remove the completed_usernames.txt file which tracks users you've already completed. It also removes output files such as any existing user_results.jsonl.
  • make install: Installs the needed dependencies to use the tool utilizing pip install
  • make test: Only really for development where you want to run the test suite against the functional code

License

MIT

How to file issues and get help

This project uses GitHub issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates. For new issues, file your bug or feature request as a new issue.

For help or questions about using this project, please open an issue and a maintainer will respond to you normally within a week.

user-engagement-metrics is under active development and maintained by GitHub staff AND THE COMMUNITY. We will do our best to respond to support, feature requests, and community questions in a timely manner but are not under any company SLOs.

GitHub Support Policy

Support for this project is limited to the resources listed above.