Skip to main content

aoc_helper

Code style: black

@salt-die's aoc_helper package, rewritten from the ground up

Automation

This project aims to be compliant with the Advent of Code Automation Guidelines. Here are the strategies it uses:

Installation

Install aoc_helper with pip!

pip install aoc_helper
# install the dependencies required for the Command Line Interface
pip install aoc_helper[cli]
# install the dependencies required for colour
pip install aoc_helper[fancy]
# install all additional dependencies
pip install aoc_helper[cli,fancy]
# or
pip install aoc_helper[full]

Configuration

When you first use any function that interfaces with Advent of Code, you will be prompted to enter your session token.

Your session token is stored as a HTTPOnly cookie. This means there is no way of extracting it with JavaScript, you either must use a browser extension such as EditThisCookie, or follow this guide

This token is stored in ~/.config/aoc_helper/token.txt (C:\Users\YOUR_USERNAME\.config\aoc_helper\token.txt on Windows, probably), and other aoc_helper data is stored in this folder (such as your input and submission caches).

If, for whatever reason, you feel the need to clear your caches, you can do so by deleting the relevant folders in aoc_helper's configuration folder.

Command Line Interface

aoc_helper has a command line interface, accessed by running python -m aoc_helper or aoc followed by the command line arguments. Its commands are detailed below:

fetch

aoc fetch <DAY> [--year <YEAR>]

Fetch your input for a given day.
YEAR is the current year by default.

Examples (written during 2020):

aoc fetch 2 # fetches input for 2020 day 2
aoc fetch 24 --year 2019 # fetches input for 2019 day 24

submit

aoc submit <DAY> <PART> <ANSWER> [--year <YEAR>]

Submits your answer for a given day and part.
YEAR is the current year by default.

Examples (written during 2020):

aoc submit 2 1 643 # submits 643 as the answer for 2020 day 2 part 1
aoc submit 24 1 12531574 --year 2019 # submits 12531574 as the answer for 2019 day 2 part 1

template

aoc template <DAYS> [--year YEAR]

Generates templates for your advent of code folder.
YEAR is the current year by default.

DAYS must be a comma-separated list of date ranges, which may be one of:

  • all, to generate a template for every day in the year
  • A single integer in the range [1, 25] to generate a single template
  • A pair of integers in the range [1, 25], separated with a hyphen, to generate template for each day in the range

Note that even if a day is included in the list of days more than once (including implicitly, within ranges or all), it will only be generated once.

Filenames are formatted as day_NUMBER.py where NUMBER is the 2-digit day number.

Examples (written during 2020):

aoc template all # generates day_01.py to day_25.py, with aoc_helper methods referencing 2020, in the current folder
aoc template 3 --year 2019 # generates day_03.py, with aoc_helper methods referencing 2019, in the current folder
aoc template 3-5 --year 2017 # generates day_03.py to day_05.py, with aoc_helper methods referencing 2017, in the current folder
aoc template 3-5,7,9,9-10 # generates files for days 3, 4, 5, 7, 9, and 10

Metadata

Release files for aoc-helper 1.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aoc-helper 1.14.0
File Size Uploaded
aoc_helper-1.14.0.tar.gz 36.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aoc-helper 1.14.0
File Interpreter ABI Platform
aoc_helper-1.14.0-py3-none-any.whl Python 3 none any Details

Total release size: 73.3 kB

Release files / aoc_helper-1.14.0.tar.gz

Download URL aoc_helper-1.14.0.tar.gz
Size 36.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cac165291c8057f07797341c6ff96b091dd4ffed3c7dae81a35e93a18d0ceba2
BLAKE2b-256 checksum
How to use checksums
491c26cee1f5c887f59c86ba03a33a9cd856941724a1a79f3cc2f4a89cd2b3a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

Release files / aoc_helper-1.14.0-py3-none-any.whl

Download URL aoc_helper-1.14.0-py3-none-any.whl
Size 36.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a1fc8094aee9907f767caecf205227dce1da89b3a7e31e6283e0449ae8eeede
BLAKE2b-256 checksum
How to use checksums
51b3ad525f8fbb1764f61651f4b9ba528e88f91403265d6845200472769c9ed0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.14.0 This release

2 release files

1.13.1

2 release files

1.13.0

2 release files

1.12.1

2 release files

1.12.0

2 release files

1.10.0

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.18

2 release files

1.8.17

2 release files

1.8.16

2 release files

1.8.12

2 release files

1.8.11

2 release files

1.8.10

2 release files

1.8.9

2 release files

1.8.8

2 release files

1.8.7

2 release files

1.8.6

2 release files

1.8.5

2 release files

1.8.4

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.17

2 release files

1.7.13

2 release files

1.7.12

2 release files

1.7.11

2 release files

1.7.10

2 release files

1.7.9

2 release files

1.7.8

2 release files

1.7.7

2 release files

1.7.6

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.7

2 release files

1.6.6

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

1 release file

1.3.5

1 release file

1.3.4

1 release file

1.3.3

1 release file

1.3.2

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.19

1 release file

1.2.18

1 release file

1.2.17

1 release file

1.2.16

1 release file

1.2.15

1 release file

1.2.14

1 release file

1.2.13

1 release file

1.2.12

1 release file

1.2.11

1 release file

1.2.10

1 release file

1.2.9

1 release file

1.2.8

1 release file

1.2.7

1 release file

1.2.6

1 release file

1.2.5

1 release file

1.2.4

1 release file

1.2.3

1 release file

1.2.2

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.2.7

1 release file

0.2.6

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.0

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page