Skip to main content

Examine a GitHub user's profile, to help quickly decide how much to invest in their contributions.

Project description

gh-profiler

Many of us have received waves of open source contributions where many of the new "contributions" aren't worth engaging with. gh-profiler lets you quickly see a snapshot of the submitter's profile, and recent PR activity.

This meant to give you some quick context about how much to invest in reviewing the PR. It's not meant to give an immediate signal to close the PR or issue.

Running as a tool

If you have uv installed, you can run this as a tool against any GitHub user:

$ uvx gh-profiler <redacted>
GitHub user: <redacted>
  🟡 Account age: 159 days

  🟢 Profile information:
      name: <redacted>
      blog: https://<redacted>.com
      email: info@<redacted>.com
     Empty fields: company, location, bio

  🟢 <redacted> has opened fewer than 10 PRs in the last 21 days.

  🟢 <redacted> has opened 6 new issues in the last 21 days.
     🟢 0 issues have been closed as NOT_PLANNED.
     🔴 6 issues were opened with the same title:
        📋 Documentation Enhancement Suggestion (6)

If you're working in your local project directory, you can simply provide a PR or issue number. The tool will look up the PR or issue, identify the user who opened it, and give a report on that user:

$ uvx gh-profiler 8
GitHub user: ehmatthes
  🟢 Account age: 5058 days
  ...

Installing and then running

You can also install the project, and then run the bare gh-profiler command:

(.venv) $ pip install gh-profiler
(.venv) $ gh-profiler ehmatthes
GitHub user: ehmatthes
  🟢 Account age: 5058 days
  ...

When you've installed the project, you can also run it as a module:

$ python -m gh_profiler <username>

Maintaining

Add/ modify a requirement

  • Add or modify a requirement by modifying pyproject.toml, or running uv add <package>.
  • For a dev dependency, run uv add --dev <package>.
  • Then run uv lock.

Running tests

$ uv run pytest

New releases

Update changelog and bump version, then:

$ uv lock
# Commit all changes.
$ git tag vX.Y.Z
$ git push origin vX.Y.Z
$ rm -rf dist/*
$ uv build
$ uv publish

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gh_profiler-0.3.0.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gh_profiler-0.3.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file gh_profiler-0.3.0.tar.gz.

File metadata

  • Download URL: gh_profiler-0.3.0.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gh_profiler-0.3.0.tar.gz
Algorithm Hash digest
SHA256 dfc1ff0b0b32b83d6ad1b2b89aac1936a300394c716b53f7c0b3ead526348df2
MD5 7844d063c5b0985805c68efa9bfd4be9
BLAKE2b-256 44272d8c93be61008069ef0373976f398f1471f5081cf104448d3933e8082c7c

See more details on using hashes here.

File details

Details for the file gh_profiler-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: gh_profiler-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gh_profiler-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 66125b5caeb4561693c455fc778bc85552e697737066d53b827153a36f9279b3
MD5 e508c2f609787fb0d2268f6cbee95d48
BLAKE2b-256 136acfe6b6d60069550abb65f290872ee28b6d722a7223ad299efcf358421d3a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page