Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,37 @@
# githubcontribs: Simple analytics for GitHub contributions across an organization
# githubcontribs: Analyze GitHub contributions

A simple Python API to fetch and plot GitHub contributions across repositories.

Install:

```bash
pip install githubcontribs
```

Quickstart:
Fetch data:

```python
import githubcontribs
fetcher = githubcontribs.Fetcher("laminlabs")
df = fetcher.run("lamindb")
fetcher = githubcontribs.Fetcher("laminlabs") # pass the organization
df = fetcher.run("lamindb") # pass one or multiple repositories
df.head()
#> Dataframe of contributions
#> date author repo type title ...
#> 2025-10-11 falexwolf lamindb commit 🚸 Better UX for `lamin annotate` CLI command ...
#> 2025-10-10 Koncopd lamindb commit 🐛 Various fixes for filtering (#3147) ...
#> 2025-10-10 falexwolf lamindb commit 🐛 Do not retrieve records from trash based on ...
```

Plotting:
Plot data:

```python
plotter = githubcontribs.Plotter(df)
plotter.plot_total_number_by_author_by_type()
```
<img width="500" height="624" alt="image" src="https://github.com/user-attachments/assets/29a872ac-e244-4ac8-a24f-a66706a20761" />

```python
plotter.plot_number_by_month_by_author()
```
<img width="500" height="624" alt="image" src="https://github.com/user-attachments/assets/cfa31614-352b-469f-bf48-eeaca29cd5dd" />

Contributing: Please run `pre-commit install` and `gitmoji -i` on the CLI before starting to work on this repository!
If you want to make such analyses reproducible: [here](https://lamin.ai/laminlabs/lamin-dev/transform/X1ZxsmZxISxW0001) is how to track the notebooks, environments, and input & ouput data for these plots.
Loading