Skip to main content

GraphQL Engine for Python

Project description

Tartiflette

Quality Gate Status Total alerts Language grade: Python

Tartiflette is a GraphQL Server implementation built with Python 3.6+.

Summary

Motivation

Read this blogpost about our motivations TL; DR We reached the limits of Graphene, we wanted to build something which met certain requirements:

  • Offers a better developer experience that respects the Python mindset
  • Uses SDL (Schema Definition Language)
  • Uses asyncio as the sole execution engine
  • Be 100% open source

Status

The first milestone is behind us, we are now on the road to the milestone 2.

DNA

Discover Tartiflette with our fabulous tutorial on https://tartiflette.io/docs/tutorial/getting-started

Usage

import asyncio

from tartiflette import Resolver, create_engine

@Resolver("Query.hello")
async def resolver_hello(parent, args, ctx, info):
    return "hello " + args["name"]


async def run():
    engine = await create_engine(
        """
        type Query {
            hello(name: String): String
        }
        """
    )

    result = await engine.execute(
        query='query { hello(name: "Chuck") }'
    )

    print(result)
    # {'data': {'hello': 'hello Chuck'}}

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(run())

More details on the API Documentation

Installation

Tartiflette is available on pypi.org.

While the project depends on libgraphqlparser, wheels are provided since version 1.4.0, ensuring that no system dependency is required.

To install the library:

pip install tartiflette

Building from source

If you use a platform incompatible with the provided wheels, you'll need to install cmake to build libgraphqlparser in order to install the library.

macOS

brew install cmake

Debian/Ubuntu

apt-get install cmake

HTTP server implementations

tartiflette library itself is transport agnostic, but to simplify integration with existing HTTP servers, two different libraries are available:

Roadmaps

How to contribute to the documentation?

As you may know, the documentation is hosted on https://tartiflette.io. This fabulous website is built thanks to another amazing tool, docusaurus.

The content of the documentation is hosted in this repository, to be as close as possible to the code. You will find everything you need/want in the folder /docs.

How to run the website locally?

We built a docker image for the documentation (tartiflette/tartiflette.io on docker hub), which allow us to provide you an easy way to launch the documentation locally, without installing a specific version of node.

prerequisite:

  • Docker
  • Docker Compose
  • Make
make run-docs

Every change you will make in the /docs folder will be automatically hot reloaded. :tada:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tartiflette-1.4.1.tar.gz (189.6 kB view details)

Uploaded Source

Built Distributions

tartiflette-1.4.1-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (481.9 kB view details)

Uploaded PyPy manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

tartiflette-1.4.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (341.3 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

tartiflette-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (481.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

tartiflette-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl (341.3 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

tartiflette-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (481.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

tartiflette-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl (341.3 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

tartiflette-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (481.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

tartiflette-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl (341.3 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

tartiflette-1.4.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (481.9 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

tartiflette-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl (341.3 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

tartiflette-1.4.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (481.9 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.5+ x86-64

tartiflette-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl (341.3 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file tartiflette-1.4.1.tar.gz.

File metadata

  • Download URL: tartiflette-1.4.1.tar.gz
  • Upload date:
  • Size: 189.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

File hashes

Hashes for tartiflette-1.4.1.tar.gz
Algorithm Hash digest
SHA256 d8c448621d0ae1c48385b6c1eaf7dd59156ddf0a087730fafbd038c2429c523c
MD5 80efd9c33fbacca4297d6e4559f7e065
BLAKE2b-256 9abeda5a9906a3fdce96776d6cc3b7df82ce5b0fd2a8a9ea7a768d2248702e6a

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for tartiflette-1.4.1-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 d6abc5873535b7217f39aa2f639e5336e009d750eac1280a186804d5b7b9370d
MD5 20c992322208c89c49746209924ee28a
BLAKE2b-256 4bf519ab404292ba3f8037b4310a0327a02749d2f16df1a3342f7d66bc02ad99

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tartiflette-1.4.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 341.3 kB
  • Tags: PyPy, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

File hashes

Hashes for tartiflette-1.4.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 625eb6be24e2672f486c0475b0ee54c21558b12622ad06a05840a46d12ec72fd
MD5 c4fbda1642809a5c98493da43f43608c
BLAKE2b-256 cb46c75ecb9bc9cc39e9b77fd74cee9ce1788824bfb44e81fb5fed957928824a

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for tartiflette-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5fd728a5895953bf537a551509879ea86866894d524a465cbfa8649068515578
MD5 6e49ea0c5b756c5cd7681a4b1dc4a0b4
BLAKE2b-256 e22743c85c8f1928c787b984c899500360479d57e0858de28f70a8352da5278c

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tartiflette-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 341.3 kB
  • Tags: CPython 3.10, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

File hashes

Hashes for tartiflette-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 86f20120c2ed57bd78cf92ed658cf855332bd237e76130c6ee02d9254e7732e4
MD5 a353101ba3633a8e12af3434f08a9c59
BLAKE2b-256 342a69749f16e440e344e21b626be49bcf2f09ceae58365346ceac0e66488728

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for tartiflette-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 43e20382f5347a9a23cf0f862c441a1e5aa57a7768de9620d0e6c0be24650bad
MD5 d2c64bd750331602896c0ae6387e3d43
BLAKE2b-256 c02cdf044bb504ebb2f204c1bfb655973e283f241e49d57ee1cb572ad5c1881a

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tartiflette-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 341.3 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

File hashes

Hashes for tartiflette-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7a191f2fbbade340f8faaa5a614c157b50fce933ab0533ab76f95183c83d535a
MD5 dc5ce6fd2f183147849f0f3fad571112
BLAKE2b-256 0069e2f0e72892869daa9edfe70b034a7afbec9bda4e156b24a3961fbd8789d8

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for tartiflette-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 23127f105ec775e6b5351ce04a2205c02779a35ec31a01468e55a639d9c28c82
MD5 a170c6f446c3bb089e283623c7cb8934
BLAKE2b-256 9002116601f8f1804fb94aca7433a276b47589621ae06a930d4928347da3b03e

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tartiflette-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 341.3 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

File hashes

Hashes for tartiflette-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 326d5a0a1bea44d8f8c2fec4f6787ee39d97840de8e68ec54361c8ff4f0d7691
MD5 548d6d2d4d7659bdee7453556836a690
BLAKE2b-256 1ee5eb9873c134c29eb1d24ef2c4fb679bc4b087e969e9a5cf50fb342f2a4683

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for tartiflette-1.4.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 8ecbdba4723147aeab85eaea511611776679e026827a296f146b892785f8787a
MD5 2c14caab0d22b513c765aa95e2ec061a
BLAKE2b-256 314b02ba4c11b317101abc50aa266cbd0edbf7bf3dd5485b1928c4e0f08afa3e

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tartiflette-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 341.3 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

File hashes

Hashes for tartiflette-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 82e947d6dd3e7da596c2039bb29231d23830157c189b4807c0f56d1c64986cdb
MD5 2d29f5671d1567cc435568fb45a30836
BLAKE2b-256 e1dcb1242288e3d67ef853c9ff477efba95108ce6d78cba6667ee294eb6d54d0

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for tartiflette-1.4.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 70aa2c301315a68f12813edd5b65821504a58684cae4c1e08b290315a1965032
MD5 2ad111e1703e7c8b68c1efdda329c70a
BLAKE2b-256 538041f82da75b789b843dd35616f43782f25b03870e6b9b40f8d930205d02a7

See more details on using hashes here.

File details

Details for the file tartiflette-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: tartiflette-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 341.3 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.8

File hashes

Hashes for tartiflette-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2d1700998f9d03874f37d25d0e8108edefc49743191312fbaeb9fd289c4378e0
MD5 4c403b89b58aae92aeba7b8f7156e792
BLAKE2b-256 7315a69bcca7ed41509bca6a2b582c0cd0e30100c60aaba7f99c27012a511150

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page