• Stars
    star
    2,827
  • Rank 16,099 (Top 0.4 %)
  • Language
  • Created almost 6 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A collection of awesome resources related to the yearly Advent of Code challenge.

Awesome Advent of Code

This is a collection of awesome resources related to the yearly Advent of Code challenge.


Project Templates

Templates, cookiecutters and skeletons for quickly setting up projects in your favourite language.

Tools and Utilities

  • Browser extension for private leaderboard visualization
  • Browser extension which enhances your personal stats page with a time from Part 1 to Part 2 column (it also tracks when you've first opened a puzzle and offsets the completion times accordingly)
  • Browser extension (open source) enhancing private leaderboards with a "medals/podium" chart per day, Part 1 to Part 2 overview, and several other charts for your leaderboard
  • Globals medals overview -- Alternative global leaderboard showing first, second and third places as gold, silver and bronze medals.
  • Scatterplot of first 100 -- Scatterplot of the time taken to solve the parts of each puzzle by the first 100 people that solved it.
  • Private Leaderboard Visualiser -- Given a JSON of your private leaderboard data this website will show you graphs of how long each member took to solve parts 1 and 2 of each day.
  • aocdl -- Command-line utility that automatically downloads your personal input file while you read the puzzle description (Go).
  • aocinput -- CLI for getting inputs. Clipboard support. Polite to AoC. Nice help and options. (Go)
  • aoc_rb -- A Ruby gem that generates an empty AoC project, and provides command-line tools for fetching input and submitting solutions (Ruby)
  • aoc-cli -- Command-line utility that helps solve problems in ruby: it downloads your personal input file, creates the sample source files and benchmarks your solutions (Ruby).
  • AocKt -- A testing library for creating unit tests for AoC solutions with minimal boilerplate. (Kotlin)
  • AoCHelper -- NuGet library that simplifies puzzle solving and provides benchmarking (.NET).
  • AdventOfCode.Runner -- NuGet package that automatically provides your puzzles solvers with the input from the AOC site and verifies calculated answers (.NET / C#).
  • aocleaderboard -- get over the 200-member limit for private leaderboards and combine multiple leaderboards in a single page with recalculated scores.
  • advent-of-code-api -- Haskell library for querying AOC prompts, inputs, and leaderboards (Haskell)
  • advent-of-code-ocr -- Command line utility and Haskell library for parsing AoC ascii art words (Haskell)
  • advent-of-code-ocr -- Python module for parsing AoC ascii art words (Python)
  • aoc-ranking -- Show all non-zero score AoC participants in one, global scoreboard. (Python)
  • aoc-cli -- Read puzzle descriptions, download input, and submit answers from the comfort of your terminal. (Rust)
  • adventofcode-badge -- An interface over Shields.io to facilitate the creation of badges from Advent of Code.
  • @aocjs/cli -- Package for executing solutions with hot reload and data fetching (JavaScript, TypeScript)
  • eggnog -- CLI for getting input, directions (with nice colors!), and submitting answers. Caches absolutely everything. (C)
  • aoc-badges-action -- A GitHub action for updating various aoc-related badges in your README (GitHub Action, Python)
  • advent-readme-stars -- A GitHub action that adds and maintains a table of your AoC progress to your README (GitHub Action, Python)
  • aoctimer -- A language-agnostic, multiplatform tool to measure your solution time in relative units, so you can share and compare your results with others.
  • aocrunner -- A fast solutions runner and template generator, with simple CLI, customizable template, simple testing utility, live reload, and adventofcode.com integration. (JavaScript, TypeScript)
  • advent-of-code-client -- A Node.js package for fetching inputs, running puzzle challenges and submitting answers to adventofcode.com directly from your JavaScript code. Also includes some commonly used & customizable input transformation functions. (JavaScript)
  • advent-of-code-runner -- Node.JS CLI solution generator and runner. Downloads inputs, submits answers, prevents duplicate submissions, measures performance, tracks progress and outputs statistics. (JavaScript)
  • AoC-execution-time-table-generator -- A C++20 tool to generate an execution time table for both parts of each AoC day, based on input file with time details.
  • aocf -- A CLI tool (and also, optionally, crate) written in Rust, with a CLI inspired by git. Problem briefs may be displayed in a scrollable ANSI terminal (mostly) faithful to the AoC website.
  • AdventOfCodeAbstractions -- A NuGet package that contains extendable abstractions and generalized helpers to simplify and streamline .NET AoC puzzle solving. (C#)
  • aocd -- A template generator and library for solving AoC with Deno that handles input fetching and solution submitting. (TypeScript / Deno)
  • advent_of_code_utils -- Input fetcher and boilerplate generator for those solving AoC in Elixir. (Elixir)
  • Advent of Code Surveys (Results Dashboard) -- Dashboard with charts and data tables showing the results of the yearly Advent of Code Survey
  • AdventOfCode-CLI -- A Commandline interface written in python to quickly generate boilerplates in different languages and fetching your puzzle input. Also includes customizable templates and measures solution times.
  • aoc-cli -- Command-line utility that helps solve problems in python: it downloads your personal input file, creates the sample source files and makes sure you don't submit answers twice (Python).

Other Advent Calendars

24 days of cool stuff regarding .

2022

WARNING: All of these likely contain spoilers.

Read CONTRIBUTING.md to learn how to add your own repos.

Solutions

Ada

Solutions to AoC in Ada.

APL

Solutions to AoC in APL.

Assembly

Solutions to AoC in Assembly.

AWK

Solutions to AoC in AWK.

Bash

Solutions to AoC in Bash.

BQN

Solutions to AoC in BQN.

C

Solutions to AoC in C.

C#

Solutions to AoC in C#.

C++

Solutions to AoC in C++.

C3

Solutions to AoC in C3.

Clojure

Solutions to AoC in Clojure.

Common Lisp

Solutions to AoC in Common Lisp.

Crystal

Solutions to AoC in Crystal.

D

Solutions to AoC in D.

Dart

Solutions to AoC in Dart.

Elixir

Solutions to AoC in Elixir.

Elm

Solutions to AoC in Elm and Literate Elm.

Emacs Lisp

Solutions to AoC in Emacs Lisp (elisp).

Erlang

Solutions to AoC in Erlang.

Excel

Solutions to AoC in Excel.

F#

Solutions to AoC in F#.

Go

Solutions to AoC in Go.

Groovy

Solutions to AoC in Groovy.

Hamler

Solutions to AoC in Hamler.

Haskell

Solutions to AoC in Haskell.

Haxe

Solutions to AoC in Haxe.

HolyC

Solutions to AoC in HolyC (TempleOS).

Hoon

Solutions to AoC in Hoon (Urbit).

Idris

Solutions to AoC in Idris.

J

Solutions to AoC in J.

Java

Solutions to AoC in Java.

JavaScript

Solutions to AoC in JavaScript.

jq

Solutions to AoC in jq.

Julia

Solutions to AoC in Julia.

Kotlin

Solutions to AoC in Kotlin.

LDPL

Solutions to AoC in LDPL.

Lua

Solutions to AoC in Lua.

MATLAB

Solutions to AoC in MATLAB (Octave).

Nim

Solutions to AoC in Nim.

Objective-C

Solutions to AoC in Objective-C.

OCaml

Solutions to AoC in OCaml.

PHP

Solutions to AoC in PHP.

Perl

Solutions to AoC in Perl.

Pony

Solutions to AoC in Pony.

Prolog

Solutions to AoC in Prolog.

PowerShell

Solutions to AoC in PowerShell.

Python

Solutions to AoC in Python.

R

Solutions to AoC in R.

Racket

Solutions to AoC in Racket.

Raku

Solutions to AoC in Raku.

ReasonML

Solutions to AoC in ReasonML.

Red

Solutions to AoC in Red.

REXX

Solutions to AoC in REXX.

Ruby

Solutions to AoC in Ruby.

Rust

Solutions to AoC in Rust.

Smalltalk

Solutions to AoC in Smalltalk.

Scala

Solutions to AoC in Scala.

Scheme

Solutions to AoC in Scheme.

Solidity

Solutions to AoC in Solidity.

SpectX

Solutions to AoC in SpectX.

SQL

Solutions to AoC in SQL.

Standard ML

Solutions to AoC in Standard ML.

Swift

Solutions to AoC in Swift.

TypeScript

Solutions to AoC in TypeScript.

Deno

Solutions to AoC in Deno (TypeScript).

Unison

Solutions to AoC in Unison.

V

VB.NET

Whitespace

Solutions to AoC in Whitespace.

Zig

Solutions to AoC in Zig.

Zsh

Solutions to AoC in Zsh.

Live Streams

Folks who are live streaming their process.

More Repositories

1

dramatiq

A fast and reliable background task processing library for Python 3.
Python
3,640
star
2

molten

A minimal, extensible, fast and productive framework for building HTTP APIs with Python 3.6 and later.
Python
982
star
3

cursive_re

Readable regular expressions for Python 3.6 and up.
Python
353
star
4

django_dramatiq

A Django app that integrates with Dramatiq.
Python
347
star
5

dramatiq_dashboard

A dashboard for dramatiq, specific to its Redis broker.
Python
143
star
6

elm-ast

A parser for Elm in Elm.
Elm
143
star
7

racket-gui-easy

Declarative GUIs in Racket.
Racket
129
star
8

koyo

A web development toolkit for Racket.
Racket
129
star
9

web-app-from-scratch

Supporting material for my blog post series on writing a web application from scratch in Python.
Python
128
star
10

remember

Stash distractions away for later.
Swift
107
star
11

Franz

A desktop client for Apache Kafka.
Racket
106
star
12

browser-connect.vim

Live browser interaction for VIM.
Vim Script
102
star
13

marionette

A Racket library that lets you control Firefox via the Marionette Protocol.
Racket
73
star
14

deta

A database mapper for Racket.
Racket
60
star
15

threadop

Adds a threading operator to Python.
Python
55
star
16

anom-py

An ndb-like object mapper for Google Cloud Datastore.
Python
53
star
17

racket-lua

A #lang implementation of Lua 5.4 for Racket.
Racket
52
star
18

setup-racket

A GH action for installing Racket.
JavaScript
49
star
19

neko

A tiny kitten follows your mouse on macOS.
Swift
48
star
20

dramatiq_sqs

A Dramatiq broker that can be used with Amazon SQS.
Python
47
star
21

racket-http-easy

A high-level HTTP client for Racket.
Racket
43
star
22

rbrepl.vim

VIM plugin that allows you to run a Ruby REPL inside a VIM buffer.
Vim Script
41
star
23

racket-review

A linter for Racket.
Racket
41
star
24

racket-wasm

Wasm tooling in Racket.
Racket
39
star
25

nemea

Privacy focused website analytics.
Racket
35
star
26

racket-redis

Fast, idiomatic Redis bidings for Racket.
Racket
31
star
27

flask_dramatiq_example

An example app demonstrating how you can use Dramatiq with Flask.
Python
29
star
28

django_dramatiq_example

An example app demonstrating django_dramatiq.
Python
28
star
29

rackcheck

A property-based testing library for Racket.
Racket
28
star
30

taskqueues.com

A list of distributed task queueing software.
HTML
26
star
31

racket-chief

Chief runs Procfile-based applications. Like foreman, but written in Racket.
Racket
25
star
32

pyrepl.vim

VIM plugin that provides a way to run a Python REPL inside a VIM buffer.
Vim Script
25
star
33

hebi

A Snake-style game in Racket.
Racket
24
star
34

hugs

Hugs lets you map SQL expressions to Python functions.
Python
24
star
35

Noise

A Swift wrapper around Racket CS.
Racket
23
star
36

quicksilver.vim

Quicksilver is a VIM plugin whose purpose is to quicken the process of opening files from inside VIM.
Vim Script
22
star
37

racket-dbg

A server, client and UI for remotely debugging Racket applications.
Racket
19
star
38

racket-north

A database migration tool written in Racket.
Racket
18
star
39

racket-kafka

A Kafka client for Racket.
Racket
17
star
40

racket-smtp-server

An SMTP server implementation for Racket.
Racket
17
star
41

browser-connect-server

Live browser interaction for <INSERT-EDITOR-NAME-HERE>.
Scala
13
star
42

try-racket

An online playground for Racket.
Racket
13
star
43

racket-crontab

A cron-like scheduler for Racket.
Racket
12
star
44

racksnaps

Daily snapshots of the Racket Package Catalog.
Racket
12
star
45

racket-gui-extra

Platform-specific GUI controls for Racket.
Racket
11
star
46

racket-binfmt

A binary format parser generator DSL with support for limited context-sensitivity.
Racket
11
star
47

defn.io

My personal website.
Racket
10
star
48

.emacs.d

My Emacs configuration.
Emacs Lisp
10
star
49

racket-lz4

A pure-Racket decompressor for LZ4 data.
Racket
10
star
50

apistar_prometheus

Prometheus metrics for API Star apps.
Python
10
star
51

elm-querystring

A library for working with query strings in Elm.
Elm
8
star
52

apistar_dramatiq

Dramatiq integration for API Star apps.
Python
8
star
53

racket-sentry

A Sentry SDK for Racket.
Racket
8
star
54

koyo-shorty

Associated code for the "Racket Web Development with Koyo" screencast.
Racket
8
star
55

racket-protocol-buffers

A Protocol Buffers implementation for Racket.
Racket
7
star
56

h2p

A Python package that converts web pages to PDFs.
Python
7
star
57

falcon_sugar

A little sugar for Falcon applications.
Python
7
star
58

racket-forms

Web form validation for Racket.
Racket
7
star
59

resource_pool

A generic thread-safe resource pool for Python.
Python
7
star
60

elm-generate

Lazy list manipulation for Elm.
Elm
7
star
61

markii

A development-mode error handler for Python web applications.
Python
6
star
62

fargate_scraper

A CLI tool that scrapes AWS Fargate tasks to find Prometheus targets.
Python
6
star
63

dotfiles

Various configuration files from my setup.
Shell
6
star
64

molten_cookiecutter

A cookiecutter for motlen apps.
Python
6
star
65

modviz

Python module dependency visualizer.
Python
6
star
66

ido-clever-match

An alternative matcher for ido-mode.
Emacs Lisp
6
star
67

personal-website

My personal website.
Racket
5
star
68

racketcon2021-talk

Racket
5
star
69

racket-component

Application lifecycle management for Racket.
Racket
5
star
70

aoc2020

My Advent of Code 2020 solutions.
Racket
5
star
71

racket-actions-example

An example of testing Racket code using GitHub actions.
Racket
5
star
72

racketfest2023-talk

A talk I gave at RacketFest 2023.
Racket
5
star
73

apistar_sentry

A Sentry component for API Star.
Python
5
star
74

racket-import-profiler

A command line utility for profiling module dependency import times.
Racket
5
star
75

racket-net-ip

Utilities for working with IP addresses in Racket.
Racket
5
star
76

setup-racket-cache-example

An example repo that demonstrates how setup-racket packages can be cached with GHA.
4
star
77

aoc2021

My solutions to Advent of Code 2021.
Racket
4
star
78

tcopy

Tail call optimization for Python.
Python
4
star
79

racket-json-lexer

This package provides an implementation of a JSON lexer and pretty printer for Racket.
Racket
4
star
80

elm-cookiecutter

A cookiecutter template for Elm projects.
Elm
4
star
81

racket-geoip

Geolocation for Racket based on MaxMind's GeoIP databases.
Racket
4
star
82

ymage

ymage is a simple image slideshow creator written in Python
Python
4
star
83

watchdog_gevent

A gevent-based observer for watchdog.
Python
4
star
84

racket-messagepack

An implementation of the MessagePack serialization format for Racket.
Racket
4
star
85

trio-redis

A Redis client based on Trio.
Python
4
star
86

racket-net-mime-type

Utilities for working with MIME types in Racket.
Racket
4
star
87

apistar_cors

CORS support for API Star.
Python
4
star
88

racket-avro

A Racket implementation of the Apache Avro serialization format.
Racket
4
star
89

racket-bench-ws-logging

Racket
3
star
90

ruse

Scheme
3
star
91

racket-box-extra

Extra utilities for working with boxes in Racket.
Racket
3
star
92

racket-libsass

This package distributes libsass as a Racket package for Linux, MacOS and Windows.
Shell
3
star
93

pirate

A simple TPB CLI magnet link utility.
Python
3
star
94

cedar

A web service definition format and source code generator.
Python
3
star
95

racket-resource-pool

A generic blocking resource pool implementation for Racket.
Racket
3
star
96

py-test.el

A test runner for Python code.
Emacs Lisp
3
star
97

racket-libsqlite3

This package distributes libsqlite3 as a Racket package for Linux and macOS.
Shell
3
star
98

koyo-sentry

Integrates racket-sentry with koyo.
Racket
3
star
99

apistar_request_id

Request id generation and propagation for API Star.
Python
3
star
100

racket-ulid

Universally unique lexicographically sortable identifiers for Racket.
Racket
2
star