# AoC Utils This small library can be used for the yearly Advent of Code (https://adventofcode.com) challenge. It automates the retrieval of puzzle input and submission. # Installation `aocutil` is [published on PyPi](https://pypi.org/project/aocutil/) and can be installed from there. # Usage ``` python from aocutil import Aoc # Initialize for year 2022, day 1 with session id 53616c746 # # Everything here is optional. If left out year and day is determined # from the current date -- be aware that your code is non-repeatable if year # and date is not specified. # Session id is read from `${HOME}/.config/aocutil/session_id` if not specified. aoc = Aoc(year=2022, day=1, session_id="53616c746") # Retrieve input and split into list of lines # # You can also retrieve the content as a string with `aoc.input().read()`. puzzle = aoc.input().lines() # solve the puzzle (your implementation) solution = solve(puzzle) # Submit the solution for level 1 # # If left out, the level is determined automatically by # which level is not solved yet. aoc.submit(solution, level=1) ``` # Retrieving the Session ID A user in Advent of Code submissions and input retrieval is determined by a session id stored in a cookie in the user's browser. For this library to work it needs a users session id. The session id can be found by opening your browsers developer tools and looking for a cookie named `session`. You can either initialize `Aoc` with the token or store it in a file named `${HOME}/.config/aocutil/session_id`. I would recommend the latter so you don't accidentially publish your session id. Note that everyone who gets hold of your session id can impersonate you.