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
File details
Details for the file aocpy-0.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: aocpy-0.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0456c9c725982e186c5a0266e892b60782d659bd8e73f794bbea8bcfd527798b |
|
MD5 | 1032a2ff3ab80a5411c6a795826558a7 |
|
BLAKE2b-256 | c6dad4ea304b64dddaeffa826eff0a72c9082df5db0cd8cfa8fd188c44fdb9f6 |