runtime

datasets real and made-up data to practise on

Datasets

Data for the Playground, Database Lab and Performance Lab. Pick one and open its files.

Four weeks of activity on fictional open-source projects, as a stream of JSON events in hourly and daily files.

1,080 events3 tablesMar 2025

what to watch for

Tricky rows

  • Events by bot accounts (logins ending in [bot])2 rows
  • Event types whose payloads have different fields10 rows
  • Some files start with the last event of the previous file (deduplicate by id)1 rows
  • Within a file, about 1% of events are slightly out of time order1 rows

files

Open a file to see what one row means, its columns and a preview. Open in Playground starts a new file there with code that loads it.

events1,080 rows · 12 columns · CSV

One event per row: the fields every event has, plus a few common details.

In your code: data/events.csv

  • event_idtextkey

    Event ID

  • typetext

    PushEvent, WatchEvent, PullRequestEvent, …

  • created_attimestamp

    When, UTC

  • actor_idinteger→ actors

    Account that did it

  • actor_logintext

    Account name

  • repo_idinteger→ repos

    Repository

  • repo_nametext

    owner/name

  • orgtext · can be empty

    Organisation

  • actiontext · can be empty

    opened, closed, started, … (not every type has one)

  • reftext · can be empty

    Branch or tag (push, create, delete)

  • commitsinteger · can be empty

    Commits in a push

  • numberinteger · can be empty

    Issue or pull request number

actors522 rows · 3 columns · CSV

One account that appears in the events. Bots included.

In your code: data/actors.csv

  • actor_idintegerkey

    Account ID

  • logintext

    Account name

  • is_botinteger

    1 for bot accounts

repos210 rows · 6 columns · CSV

One repository that appears in the events.

In your code: data/repos.csv

  • repo_idintegerkey

    Repository ID

  • nametext

    owner/name

  • ownertext

    Owner organisation

  • languagetext · can be empty

    Main language

  • created_attimestamp

    Created, UTC

  • stars_beforeinteger

    Stars before these four weeks

data/events/24 JSON Lines files

One event per row: the fields every event has, plus a few common details. The same records split across files, as an API or a log writer produces them.

  • 2025-03-03-00.jsonl34 records · 26 KB
  • 2025-03-03-01.jsonl13 records · 8 KB
  • 2025-03-03-02.jsonl14 records · 9 KB
  • 2025-03-03-03.jsonl11 records · 9 KB
  • 2025-03-03-04.jsonl15 records · 9 KB
  • 2025-03-03-05.jsonl18 records · 14 KB
  • 2025-03-03-06.jsonl25 records · 17 KB
  • 2025-03-03-07.jsonl39 records · 31 KB
  • 2025-03-03-08.jsonl52 records · 41 KB
  • 2025-03-03-09.jsonl52 records · 39 KB
  • 2025-03-03-10.jsonl66 records · 49 KB
  • 2025-03-03-11.jsonl75 records · 51 KB
  • 2025-03-03-12.jsonl72 records · 51 KB
  • 2025-03-03-13.jsonl57 records · 38 KB
  • 2025-03-03-14.jsonl66 records · 47 KB
  • 2025-03-03-15.jsonl71 records · 50 KB
  • 2025-03-03-16.jsonl66 records · 50 KB
  • 2025-03-03-17.jsonl59 records · 45 KB
  • 2025-03-03-18.jsonl67 records · 53 KB
  • 2025-03-03-19.jsonl46 records · 38 KB
  • 2025-03-03-20.jsonl44 records · 34 KB
  • 2025-03-03-21.jsonl34 records · 27 KB
  • 2025-03-03-22.jsonl43 records · 34 KB
  • 2025-03-03-23.jsonl42 records · 32 KB

relationships

How to join these tables. Left column matches the right column.

  • events.actor_id → actors.actor_id
  • events.repo_id → repos.repo_id

where the course uses it

Lessons and practice questions use small samples of Repository Events; projects open its files.

Repository Events dataset — Python Datasets · Runtime