Advent of Code Automation
Project description
aocpy - Advent of Code Automation Tool
Fetch input, submit answers and generate boilerplate files for solving Advent of Code puzzles :christmas_tree:
Installation
Install via pip:
pip install aocpy
Usage
N.B Please see the Session Cookie Configuration section
Begin a Puzzle
begin
fetches the puzzle input and generates boilerplate files with the following structure:
<day_number>/
solution.py
input.txt
# fetch input and generate boilerplate for today's challenge
$ aocpy begin
# fetch input and generate boilerplate for a specific puzzle
$ aocpy begin -y 2017 -d 15
$ aocpy begin -d 15 # uses current puzzle year
Submit Puzzle Answers
# submit answer for level 1 of today's puzzle
$ aocpy submit "myanswer" 1
# submit answer for level 2 of today's puzzle
$ aocpy submit "myanswer2" 2
# submit answer for level 1 of a specific puzzle
$ aocpy submit "myanswer" 1 -y 2017 -d 15
# submit answer for level 2 of a specific puzzle
$ aocpy submit "myanswer2" 2 -y 2017 -d 15
Running Solutions
The solution template files include a small CLI to read input files.
$ cd <puzzle_day_dir>
# Default - run with aocpy generated input.txt file
$ python solution.py
# Run with example_input.txt if present
$ python solution.py -e
# Run with specified input file
$ python solution.py /path/to/my/file.txt
Session Cookie Configuration
AoC puzzle inputs differ by user, requiring a browser cookie to determine the current user. aocpy
requires this cookie and can be supplied in several ways:
-
CLI
-c
/--session-cookie
option (supported by all commands):$ aocpy begin -c <1234mycookie>
-
Configuration file:
- Paste the cookie into a file at
~/.config/aocpy/token
# ~/.config/aocpy/token <1234mycookie>
- Paste the cookie into a file at
-
Environment variable:
$ export AOC_SESSION_COOKIE=<1234mycookie>
Finding Your Session Cookie
- Open Advent of Code in a web browser and log in
- Open the browser's developer console
- i.e. Right click -> Inspect or
F12
- Select the
Network
tab - Navigate to any puzzle input page i.e. adventofcode.com/2018/day/1/input
- Click on the request that shows up in the
Network
tab - The cookie will be in the
Request Headers
section with the formatCookie: session=<1234mycookie>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for aocpy-0.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0456c9c725982e186c5a0266e892b60782d659bd8e73f794bbea8bcfd527798b |
|
MD5 | 1032a2ff3ab80a5411c6a795826558a7 |
|
BLAKE2b-256 | c6dad4ea304b64dddaeffa826eff0a72c9082df5db0cd8cfa8fd188c44fdb9f6 |