advent-of-code-api: Advent of Code REST API bindings

[ bsd3, library, web ] [ Propose Tags ] [ Report a vulnerability ]

Haskell bindings for Advent of Code REST API. Please use responsibly! See README.md or Advent module for an introduction and tutorial.

Requires libcurl.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.2.1, 0.1.2.2, 0.1.2.3, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.2.1, 0.2.3.0, 0.2.4.0, 0.2.4.1, 0.2.4.2, 0.2.5.0, 0.2.6.0, 0.2.6.1, 0.2.6.2, 0.2.7.0, 0.2.7.1, 0.2.8.0, 0.2.8.1, 0.2.8.2, 0.2.8.3, 0.2.8.4, 0.2.8.5, 0.2.9.0, 0.2.9.1 (info)
Change log CHANGELOG.md
Dependencies attoparsec, base (>=4.9 && <5), containers, curl, deepseq, directory, filepath, finite-typelits, mtl, tagsoup, text, time, uri-encode [details]
Tested with ghc >=8.0 && <8.8
License BSD-3-Clause
Copyright (c) Justin Le 2018
Author Justin Le
Maintainer justin@jle.im
Category Web
Home page https://github.com/mstksg/advent-of-code-api#readme
Bug tracker https://github.com/mstksg/advent-of-code-api/issues
Source repo head: git clone https://github.com/mstksg/advent-of-code-api
Uploaded by jle at 2018-12-09T01:10:48Z
Distributions LTSHaskell:0.2.9.1, NixOS:0.2.9.1, Stackage:0.2.9.1
Downloads 9352 total (81 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-12-09 [all 1 reports]

Readme for advent-of-code-api-0.1.2.3

[back to package description]

advent-of-code-api

advent-of-code-api on Hackage Build Status

Haskell bindings for Advent of Code REST API. Caches and throttles requests automatically.

Specify your requests with AoC and AoCOpts, and run them with runAoC.

Examples:

-- Fetch prompts for day 5
runAoC myOpts $ AoCPrompt (mkDay_ 5)

-- Fetch input for day 8
runAoC myOpts $ AoCInput (mkDay_ 8)

-- Submit answer "hello" for Day 10, Part 1
runAoC myOpts $ AoCSubmit (mkDay_ 10) Part1 "hello"

Please use responsibly. All actions are rate-limited to a default of one request every three seconds, with ability to adjust up to as fast as a hard-coded limit of one request per second.

Note that leaderboard API is not yet supported.

Requires libcurl, with future plans to move to a "pure Haskell" networking backend.

Session Keys

Session keys are required for all commands, but if you enter a bogus key you should be able to get at least Part 1 from AoCPrompt.

The session key can be found by logging in on a web client and checking the cookies. You can usually check these with in-browser developer tools.