Module advent_of_code_hhoppe
Python library to process Advent-of-Code puzzles in a Jupyter notebook. See a complete example.
Usage summary:
-
The preamble optionally specifies reference inputs and answers for the puzzles:
BASE_URL = 'https://github.com/hhoppe/advent_of_code_2021/blob/main/data/google.Hugues_Hoppe.965276/' INPUT_URL = BASE_URL + '2021_{day:02}_input.txt' ANSWER_URL = BASE_URL + '2021_{day:02}{part_letter}_answer.txt' advent = advent_of_code_hhoppe.Advent( year=2021, input_url=INPUT_URL, answer_url=ANSWER_URL) -
For each day (numbered 1..25), the first notebook cell defines a
puzzleobject:puzzle = advent.puzzle(day=1)The puzzle input string is automatically read into the attribute
puzzle.input. This input string is unique to each Advent participant.For each of the two puzzle parts, a function (e.g.
process1) takes an input string and returns a string or integer answer. Using calls like the following, we time the execution of each function and verify the answers:puzzle.verify(part=1, func=process1) puzzle.verify(part=2, func=process2) -
At the end of the notebook, a table summarizes timing results.
Alternative ways to specify puzzle inputs/answers
-
The puzzle inputs and answers can be more efficiently downloaded using a single ZIP file:
PROFILE = 'google.Hugues_Hoppe.965276' ZIP_URL = f'https://github.com/hhoppe/advent_of_code_2021/raw/main/data/{PROFILE}.zip' !if [[ ! -d {PROFILE} ]]; then wget -q {ZIP_URL} && unzip -q {PROFILE}; fi INPUT_URL = f'{PROFILE}/{{year}}_{{day:02d}}_input.txt' ANSWER_URL = f'{PROFILE}/{{year}}_{{day:02d}}{{part_letter}}_answer.txt' advent = advent_of_code_hhoppe.Advent( year=2021, input_url=INPUT_URL, answer_url=ANSWER_URL) -
The puzzle inputs and answers can be obtained directly from adventofcode.com using a web-browser session cookie and the
advent-of-code-dataPyPI package:!pip install -q advent-of-code-data import aocd # Fill-in the session cookie in the following: mkdir -p ~/.config/aocd && echo 53616... >~/.config/aocd/token advent = advent_of_code_hhoppe.Advent(year=2021)
Release files for advent-of-code-hhoppe 1.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| advent_of_code_hhoppe-1.1.4.tar.gz | 6.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| advent_of_code_hhoppe-1.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.9 kB
Release files / advent_of_code_hhoppe-1.1.4.tar.gz
| Download URL | advent_of_code_hhoppe-1.1.4.tar.gz |
|---|---|
| Size | 6.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ecb2b3e5104b88b0fb4f84509ca7ca01ce0547be374c133885ad04aa99cdd0ef
|
|
BLAKE2b-256 checksum How to use checksums |
e61fa37e0ecb6e0ca54eb06f142353b491194b69fa72145c37484e5347d0f81c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / advent_of_code_hhoppe-1.1.4-py3-none-any.whl
| Download URL | advent_of_code_hhoppe-1.1.4-py3-none-any.whl |
|---|---|
| Size | 6.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aef50ddc37e596a956b9d8e44b6818ec4c40fd95ffb550f3e8b0cc0ed47fa85a
|
|
BLAKE2b-256 checksum How to use checksums |
6136e9078d0a5ad1d266cc90f1694fb22192ec792699ac5d335cd5533074bfb4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|