Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
jupyter-naas
GitHub Repository: jupyter-naas/awesome-notebooks
Path: blob/master/GitHub/GitHub_Get_Traffic_Views_on_repository.ipynb
2973 views
Kernel: Python 3

GitHub.png

GitHub - Get Traffic Views on repository

Give Feedback | Bug report

Tags: #github #api #traffic #views #plotly #linechart #analytics

Last update: 2023-04-12 (Created: 2023-02-16)

Description: This notebook will show how to get traffic views on a GitHub repository.

Input

Import libraries

import requests import naas from pprint import pprint import pandas as pd import plotly.graph_objects as go

Setup Variables

  • Create your personal access token here

  • Select all scopes on "repo" section

repo_url = "https://github.com/jupyter-naas/awesome-notebooks" token = naas.secret.get("GITHUB_TOKEN") or "GITHUB_TOKEN"

Model

Get Traffic Views

This function will get the traffic views of a GitHub repository.

def get_traffic_views(repo_url, token): # owner + name of the repository owner = repo_url.split("/")[-2] name = repo_url.split("/")[-1] url = f"https://api.github.com/repos/{owner}/{name}/traffic/views" headers = {"Authorization": f"token {token}"} response = requests.get(url, headers=headers) return response.json() traffic_views = get_traffic_views(repo_url, token) pprint(traffic_views)

Output

Display data

print("-> Git views on the last 14 days") print(f"Views count: {traffic_views.get('count')}") print(f"Uniques viewer: {traffic_views.get('uniques')}") df = pd.DataFrame(traffic_views.get("views")) df

Display graph

fig = go.Figure() fig.add_trace( go.Scatter( name="count", x=df["timestamp"], y=df["count"], mode="lines+markers", marker=dict(color="blue"), ) ) fig.add_trace( go.Scatter( name="uniques", x=df["timestamp"], y=df["uniques"], mode="lines+markers", marker=dict(color="orange"), ) ) fig.update_layout(title="Git Views") fig.show()