Solutions to Advent of Code puzzles.
Project description
Adventkit -- Advent of Code in Python
These are my solutions in Python to some of the Advent of Code puzzles. My goal is to make the code readable while also making it reasonably fast.
Installation
You can install Adventkit using pip:
pip install adventkit
Alternatively, after cloning the Adventkit repository, the code can be run as is.
Requirements
- Python 3.6.1+
- Puzzle input files placed in the right locations: the input for day
1 of Advent of Code 2019 is read from
input/year2019/day01.txt
(relative to the current working directory).
Optional, to run src/run.sh
after cloning the repository:
- A POSIX-compliant shell (
/bin/sh
) - A shell command
python3
to run Python 3.6.1+ (any implementation) - If extra speed is desired on selected puzzles: A shell command
pypy3
to invoke PyPy 3.6+
How to run
After installing Adventkit, you can run a single day's solver like this:
adventkit 2019 10
Cloning the repository gives you more options:
- Run a single day's solver:
src/run.sh 2019 10
(orpython3 src/run.py 2019 10
) - Run all solvers:
src/run.sh
- Run all solvers from one year:
src/run.sh 2019
When invoked with the optional argument --time
, src/run.sh
prints
the execution time for each day. If the command pypy3
invokes a
suitable version of PyPy, src/run.sh
uses it for any solvers that are
expected to run faster under PyPy than CPython.
Testing
To run the tests, first install
pytest
and
pytest-subtests
, as well
as your local copy of adventkit
. Then run the command pytest
.
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 Distribution
Built Distribution
Hashes for adventkit-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a374214ccb87129d8c6c94b8b48a692cf0b02e743251d25a434019e1d52c3fe6 |
|
MD5 | 09269a380f942b593f13d8dc7879e3b3 |
|
BLAKE2b-256 | 45a7b2a5b449e68e283b13025ff2b1d39f90a14245efe8114d3db3d93208ccd2 |