Style Guides

At Thread we value consistency, and sharing knowledge and expertise throughout the team. As we maintain an increasing number of services a key part of this is sharing good practices with the languages we write, the frameworks we build with, and the tools we use. We've developed a number of style guides over the years that aim to document our current practices.


Our Python style has evolved over many years. We have always emphasised readability, and ease of code review with lower levels of diff-noise. Newer Python codebases at Thread use the Black code formatter, but some still use this style guide as there are aspects of our style that we depend on which are not yet supported by Black.

{} iconGraphQL

This guide covers our design principles for the public Thread GraphQL API – how we design the schema to encourage correct usage, how we future-proof the API, and how we decouple the server and the clients to enable painless iteration on both sides.

{} iconDjango

We have a large Django codebase and have evolved a style guide to encourage scalable practices between many developers.