Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lancelote/advent_of_code
Advent of Code Christmas Puzzles
https://github.com/lancelote/advent_of_code
advent-of-code puzzle python
Last synced: 4 months ago
JSON representation
Advent of Code Christmas Puzzles
- Host: GitHub
- URL: https://github.com/lancelote/advent_of_code
- Owner: lancelote
- License: unlicense
- Created: 2015-12-08T08:35:51.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-09-16T12:08:14.000Z (5 months ago)
- Last Synced: 2024-10-10T18:49:47.387Z (4 months ago)
- Topics: advent-of-code, puzzle, python
- Language: Python
- Homepage:
- Size: 1.03 MB
- Stars: 8
- Watchers: 3
- Forks: 0
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# advent_of_code
[Advent of code](http://adventofcode.com/) — Programming Christmas Puzzles
★ - both the first and the second parts are solved
☆ - only the first part is solved
- 2015 - ★★★★★ ★★
- 2016 - ★★★★★ ★★
- 2017 - ★★★★★ ★★★★★ ★★
- 2018 - ★★★★★ ★★★★★ ★★
- 2019 - ★★★★★ ★★★★★ ★★★
- 2020 - ★★★★★ ★★★★★ ★★★★★ ☆
- 2021 - ★★★★★ ★★★★★ ★★★★★ ★★★
- 2022 - ★★★★★ ★★★★★ ★★★★★ ★☆
- 2023 - ★★★★★ ★★★★★ ★★★★★ ★★★☆## How to use
To launch the Puzzle Solver on 2017 year day 5 part “A” puzzle:
```bash
python main.py solve 2017 5 a
```## Requirements
Solver uses [advent-of-code-data][1] to fetch tasks from the server. You
need to set up a token for it to work. See the [instruction][2].I use Python 3.12 for development. The code should work fine with older
versions, but it is not guaranteed.To install requirements (virtual environment is recommended)
```bash
python -m pip install -r requirements-dev.txt
```To update `requirements.txt` with the newest package versions
```bash
pur -r requirements.txt
```## Tests
I store all the tests in `tests` folder and use `pytest` as a test runner
```bash
python -m pytest tests
```## Linters
`mypy`, `ruff`, `pyupgrade`, and `reorder-python-imports` are used in
pre-commit hook. To run linters```bash
pre-commit install
pre-commit run --all-files
```# Merry Christmas and Happy New Year!
[1]: https://github.com/wimglenn/advent-of-code-data
[2]: https://github.com/wimglenn/advent-of-code-wim/issues/1