Style and Technology GuidelinesΒΆ

This is intended to keep us on the same page about choices we make. Rules we have agreed on:

  • Python is the language of choice when possible. We should try and use Python3 where possible, but in cases where we need Python2 libraries we’ll try and keep the code Python3 friendly.
    • Code should pass pep8 rules and pyflakes tests. All editors have plugins that flag violations.
  • Django 1.5 is the web framework of choice.
  • New services need a REST interface and “tastypie” is the recommended tool for implementing the interface.
    • TODO: what’s the recommendation for authentication/authorization?
  • New services should include unit testing.
    • TODO: should we add guidelines about how much to test? ie just the model or also test REST interface?
  • TODO: recommended REST client? tastypie-queryset-client looks promising and will feel transparent to people familiar with Django.