nataliaElv commited on
Commit
e8df381
·
1 Parent(s): ef22b70

Average days to close

Browse files
Files changed (1) hide show
  1. app.py +6 -9
app.py CHANGED
@@ -37,7 +37,7 @@ st.title(f"GitHub Issues Dashboard for {repo.name}")
37
  status = st.status(label="Loading data...", state="running")
38
 
39
  try:
40
- df = pd.read_json("issues.json")
41
  except:
42
  df = fetch_data()
43
  save_data(df)
@@ -50,10 +50,7 @@ col1, col2, col3 = st.columns(3)
50
  state_counts = df['State'].value_counts()
51
  open_issues = df.loc[df['State'] == 'open']
52
  closed_issues = df.loc[df['State'] == 'closed']
53
- # closed_issues['Created at'] = pd.to_datetime(df['Created at'])
54
- # # closed_issues['Closed at'] = pd.to_datetime(df['Closed at'])
55
- # closed_issues['Time to Close'] = closed_issues['Closed at'] - closed_issues['Created at']
56
- # closed_issues['Time to Close'] = closed_issues['Time to Close'].apply(lambda x: x if pd.isnull(x) else x.days)
57
 
58
  with col1:
59
  st.metric(label="Open Issues", value=state_counts['open'])
@@ -61,9 +58,9 @@ with col1:
61
  with col2:
62
  st.metric(label="Closed Issues", value=state_counts['closed'])
63
 
64
- # with col3:
65
- # average_time_to_close = closed_issues['Time to Close'].mean()
66
- # st.metric(label="Avg. Days to Close", value=average_time_to_close)
67
 
68
 
69
  # TODO Plot: number of open vs closed issues by date
@@ -153,7 +150,7 @@ st.dataframe(
153
  # st.header("Issue dependencies")
154
  # ## Map: dependencies between issues. Network of issue mentions.x
155
 
156
- # status.update(label="Checking for updated data...", state="running")
157
  updated_data = fetch_data()
158
  if df.equals(updated_data):
159
  status.update(label="Data is up to date!", state="complete")
 
37
  status = st.status(label="Loading data...", state="running")
38
 
39
  try:
40
+ df = pd.read_json("issues.json", convert_dates=["Created at", "Closed at", "Last update"], date_unit="ms")
41
  except:
42
  df = fetch_data()
43
  save_data(df)
 
50
  state_counts = df['State'].value_counts()
51
  open_issues = df.loc[df['State'] == 'open']
52
  closed_issues = df.loc[df['State'] == 'closed']
53
+ closed_issues['Time to Close'] = closed_issues['Closed at'] - closed_issues['Created at']
 
 
 
54
 
55
  with col1:
56
  st.metric(label="Open Issues", value=state_counts['open'])
 
58
  with col2:
59
  st.metric(label="Closed Issues", value=state_counts['closed'])
60
 
61
+ with col3:
62
+ average_time_to_close = closed_issues['Time to Close'].mean().days
63
+ st.metric(label="Avg. Days to Close", value=average_time_to_close)
64
 
65
 
66
  # TODO Plot: number of open vs closed issues by date
 
150
  # st.header("Issue dependencies")
151
  # ## Map: dependencies between issues. Network of issue mentions.x
152
 
153
+ status.update(label="Checking for updated data...", state="running")
154
  updated_data = fetch_data()
155
  if df.equals(updated_data):
156
  status.update(label="Data is up to date!", state="complete")