0.0
The project is in a healthy, maintained state
(Unofficial) Fetches and aggregates language usage statistics for a GitHub user
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 3.2
~> 2.18
~> 1.18, >= 1.18.10
~> 10.0
 Project Readme

github-polyglot

Gem Version CI

Linguist, but for the user instead of the repository.

This scans all of the repositories that the user has and compiles the language stats. The stats can be output as...

  • A human-readable terminal output
  • JSON
  • An SVG file resembling the language bar

Usage

As a GitHub Action

This action runs the github-polyglot gem in a Docker container.

Inputs

token

Optional. GitHub API token to avoid rate limits when scanning repository language details.

user

Optional. The user to collect data for. Defaults to the owner of the repository that is running the action.

format

Optional. The format of the output. Defaults to print (a display format for terminal display).

Outputs

output

The output of the github-polyglot gem.

Example

# ...
steps:
- uses: spenserblack/github-polyglot@main
  id: github-polyglot
  with:
    token: ${{ secrets.PAT }}
    format: svg
- name: Create language stats image
  env:
    SVG: ${{ steps.github-polyglot.outputs.output }}
  run: echo "$SVG" > language-stats.svg
  # Commit the SVG with your favorite commands or actions

As a Ruby Gem

If the GITHUB_TOKEN environment variable is set, it can use that token to get more accurate stats and avoid rate-limiting. You can also avoid needing to pass --username if you have the token set.

Building

Prerequisites

This project depends on Linguist, which has some dependencies that may require extra steps. Read their documentation for more details.

On Ubuntu

sudo apt install build-essential cmake pkg-config libicu-dev zlib1g-dev libcurl4-openssl-dev libssl-dev ruby-dev