Skip to main content

Developer persona and analytics toolkit for GitHub profiles

Project description

GitPersona

Overview

GitPersona is a lightweight developer persona and analytics toolkit for GitHub profiles. It fetches public GitHub data on-demand and performs local analysis to produce a concise persona summary and simple stats.

Install (recommended: virtualenv)

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip setuptools wheel
python -m pip install -r requirements.txt
pip install -e .

Run tests

.venv/bin/python -m pytest -q

Usage

Command-line:

gitpersona analyze <username>
# Example:
gitpersona analyze octocat --output octocat.json

Python API:

from gitpersona.github_client import GitHubClient
from gitpersona.analysis import analyze_user

client = GitHubClient()
repos = client.fetch_user_repos('octocat')
report = analyze_user('octocat', repos)

Privacy

All processing is local. GitPersona fetches public GitHub data and does not store it permanently.

Notes

  • To increase GitHub API rate limits, set GITHUB_TOKEN in your environment:
export GITHUB_TOKEN=ghp_...
  • The project uses a minimal requests-based client. For larger-scale usage consider hitting GraphQL or adding caching and rate-limit handling.

  • The project uses a minimal requests-based client. For larger-scale usage consider hitting GraphQL or adding caching and rate-limit handling.

AUR package

This project is packaged in the Arch User Repository (AUR) as python-gitpersona.

Install from AUR using your AUR helper (example with yay):

yay -S python-gitpersona

GitPersona

Lightweight developer persona and analytics toolkit for GitHub profiles.

Install:

pip install -r requirements.txt
pip install .

Usage:

gitpersona analyze <username>

Or from Python:

from gitpersona.github_client import GitHubClient
from gitpersona.analysis import analyze_user

client = GitHubClient()
repos = client.fetch_user_repos('octocat')
report = analyze_user('octocat', repos)

Privacy:

All processing is local. GitPersona fetches public GitHub data and does not store it permanently.

GitPersona

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

gitpersona-0.1.2.tar.gz (16.6 kB view details)

Uploaded Source

Built Distribution

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

gitpersona-0.1.2-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file gitpersona-0.1.2.tar.gz.

File metadata

  • Download URL: gitpersona-0.1.2.tar.gz
  • Upload date:
  • Size: 16.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for gitpersona-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3370dd57a4a1afc68d6dc843bf7438562adb44fc1dd472ad421a7c59037e9471
MD5 e52cf63c0088915a0317759f6e84d739
BLAKE2b-256 c3e3b9845dc6aa44516066e85aa553d2e529161ed9fad93061dc4501556ea677

See more details on using hashes here.

File details

Details for the file gitpersona-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: gitpersona-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for gitpersona-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5e171f09977682430b32ec0ee495737f0c287a649b2c9e18dd8cbb16ac2d2a6b
MD5 50f2d8a7e4bb40ce0ce706352584cdb5
BLAKE2b-256 160ef4de8b82edf29c6d915b97b32991513223457f9f97394dc6b21e75a01fbf

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