GodsDevProject commited on
Commit
c905ea6
·
verified ·
1 Parent(s): 4554748

Create ingest/timeline.py

Browse files
Files changed (1) hide show
  1. ingest/timeline.py +18 -23
ingest/timeline.py CHANGED
@@ -1,31 +1,26 @@
1
- import plotly.graph_objects as go
2
  from datetime import datetime
3
 
4
-
5
- def build_timeline_figure(results):
6
- dates = []
7
- labels = []
 
 
8
 
9
  for r in results:
 
 
 
 
10
  try:
11
- dates.append(datetime.fromisoformat(r["date"]))
 
 
12
  except Exception:
13
  continue
14
- labels.append(r["title"])
15
 
16
- fig = go.Figure(
17
- data=[
18
- go.Scatter(
19
- x=dates,
20
- y=list(range(len(dates))),
21
- mode="markers",
22
- text=labels
23
- )
24
- ],
25
- layout=go.Layout(
26
- title="Document Release Timeline",
27
- xaxis_title="Release Date",
28
- yaxis_title="Document Index"
29
- )
30
- )
31
- return fig
 
1
+ from collections import defaultdict
2
  from datetime import datetime
3
 
4
+ def release_timeline(results):
5
+ """
6
+ Aggregate histogram by year-month.
7
+ Safe for HF: no user tracking, no persistence.
8
+ """
9
+ buckets = defaultdict(int)
10
 
11
  for r in results:
12
+ date_str = r.get("date")
13
+ if not date_str:
14
+ continue
15
+
16
  try:
17
+ dt = datetime.fromisoformat(date_str[:10])
18
+ key = dt.strftime("%Y-%m")
19
+ buckets[key] += 1
20
  except Exception:
21
  continue
 
22
 
23
+ return [
24
+ {"Period": k, "Documents": v}
25
+ for k, v in sorted(buckets.items())
26
+ ]