Ariadne vs Lighthouse
Ariadne
ariadnegraphql.orgLighthouse
lighthouse-php.comSide by side
| Figure | Ariadne | Lighthouse |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Linux | Yes | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · GraphQL Tools | 8.1 (#5) | 8.1 (#7) |
| Purpose | Ariadne is a Python library for building GraphQL APIs with a schema-first approach. | Lighthouse is a framework for serving GraphQL from Laravel. |
Plans
In their own words
Ariadne
Ariadne is an open-source Python library for building GraphQL APIs with a schema-first design. Developers describe an API using GraphQL Schema Definition Language and connect schema fields to application logic with resolver functions. The server supports asynchronous and synchronous query execution and can be served through WSGI or ASGI apps. The project describes interoperability with web frameworks and includes a Django integration example. Ariadne Codegen creates a typed Python client and Pydantic models from a GraphQL schema and operations; generated client results are validated against those models at runtime. An optional SQLAlchemy 2.0 integration supports synchronous sessions in WSGI and ASGI, while AsyncSession is limited to ASGI and has a documented limitation involving sibling root fields. Ariadne implements the GraphQL multipart request specification for uploads. Its default Upload scalar is write-only and supports values passed through variables. Security documentation discusses denial-of-service and credential-leakage risks and gives mitigation guidance. Ariadne is self-hosted and free, and the site lists Linux, web, and API platforms.
Lighthouse
Lighthouse is a framework for serving GraphQL from an existing Laravel application. It uses GraphQL Schema Definition Language and server-side directives to describe data and add behavior, while reusing Laravel concepts and Eloquent models. Built-in directives can create records, resolve relationships, apply query constraints, paginate results, and validate fields and arguments. Developers can add custom directives for reusable behavior, while the @can directive family can use Laravel Policies to restrict field operations. The default endpoint is `/graphql`, and any GraphQL client can use it. Lighthouse also supports standard Laravel authentication mechanisms, including Sanctum, and GraphQL subscriptions for event updates. Parsed queries can be cached with Laravel cache stores or local PHP files using OPcache; Automatic Persisted Queries are supported with Apollo compatibility. Installation uses Composer in a Laravel or Lumen project. The package is free and self-hosted. GraphQL tooling such as GraphiQL is not included, and federation support is experimental and cannot serve as a federation gateway.