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_TOKENin 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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitpersona-0.1.1.tar.gz.
File metadata
- Download URL: gitpersona-0.1.1.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd146489621949a68c130a8b89cb359ec220d3cf3b800524c2cc851f1ffd90d1
|
|
| MD5 |
74dea9556437b3702121f6b54ad50a7e
|
|
| BLAKE2b-256 |
c6f4e256cb4bf0eed5b8575a20d20a3ecb477f6e23ac192bbf73e15a95fd239f
|
File details
Details for the file gitpersona-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gitpersona-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
006d75ab046860a60e667a8c7f6ee05eb0aaf3f786c3653ccbd1c9aef85deb0d
|
|
| MD5 |
93ed881005c1d7b77fb2108d91c73338
|
|
| BLAKE2b-256 |
2c545bb4beed921c686b518a790a476e283d3c4d04e94a1d0f77743c6da76456
|