Skip to content

Idiosyncrasies

chris48s edited this page Feb 7, 2020 · 1 revision

There are a few "gotachas" to bear in mind with this project.

  1. HTTP interactions are performed using aiohttp. This allows us to fire off requests to multiple APIs in paralell, reducing the time the user spends waiting on network IO. We also use aiohttp even if we're calling only one upstream API, just for consistency. The asynchronous style in python adds a bit of complexity to the code but provides a genuine performance benefit.
  2. Because we're deployed on lambda, we build the docs locally instead of rendering on-the-fly and then commit the compiled documentation so it can be served as a static template. After making changes to the API blueprints, remember to run ./manage.py build_docs to rebuild the docs.
  3. Most of the sandbox outputs double up as expected values for unit tests. This should help to keep the sandbox outputs in sync as we change the API behaviour.
Clone this wiki locally