Introducing Tartiflette: dailymotion's Open Source GraphQL Implementation for Python 3.6+

Stan Chollet
Mar 12 · 4 min read

Criteria and POCs

We started by kicking-off this project by identifying our API criteria, which we narrowed down to four points:

  • Cultivates a substantial and growing community, one that enables us to recruit and capitalize on widespread technologies
  • Acts as a gateway in terms of software architecture, simplifying the transformation of our system integration from a monolith to an SOA (service-oriented architecture)
  • Allows for the implementation of API management tools, namely API interface management, documentation, and access to data
  • GraphQL API with Graphene
  • API with Falcor

The road to production

In April 2017, after an intensive six-month development phase, we went into production with our API. By summer we had moved all dailymotion products (web, mobile, and TV) to our GraphQL API.

The birth of Tartiflette

In the early months of 2018, after more than half a year of using Graphene, we decided to go a step further and build our own GraphQL engine. This would allow us to meet certain requirements that weren’t being met with Graphene. The criteria for our custom engine:

  • Uses SDL (Schema Definition Language)
  • Uses asyncio as the sole execution engine

Tartiflette’s DNA

  • Tartiflette is a GraphQL Server implementation built with Python 3.6+
  • The GraphQL schema is defined with the brand new SDL (Schema Definition Language).
  • Performance is the core of our work and this is obvious with Tartiflette.
  • Built with the Zen of Python in mind. No over-engineering.

Hello world, from Tartiflette

What’s next for Tartiflette?

The open-sourcing of Tartiflette is the starting of our second milestone and exciting things to come. Here are some of the ideas and plans we have for the future of Tartiflette:

  • Provide more examples and advanced use-cases to encourage you to experiment with the flexibility and powers of Tartiflette
  • Improve performance, mainly on the execution engine

And now… we need you!

Dailymotion

The home for videos that matter

Stan Chollet

Written by

Passionate about travel, software development and sport. Work on scalability at @dailymotion

Dailymotion

The home for videos that matter