30 open-source projects similar to webonyx/graphql-php, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Graphql Php alternative.
GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution engine. It provides a comprehensive framework for mapping application objects to a formal type system, enabling structured data fetching through defined resolvers. The project distinguishes itself with advanced performance and delivery mechanisms, including a data loader for batching and caching to prevent N+1 query patterns. It supports high-performance data delivery through incremental response streaming, deferred query responses, and parallel data fetching using fibers. Add
Juniper is a GraphQL server library and schema engine for Rust. It provides a toolkit for building type-safe APIs by mapping native Rust data structures to GraphQL objects, inputs, and scalars. The project functions as an execution engine that can process queries and mutations either through a network server or as a headless engine for local execution. The library is runtime-agnostic, allowing it to bridge GraphQL processing with various asynchronous Rust web frameworks. It includes a subscription framework that manages persistent WebSocket connections to push real-time data updates to client
Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations and dataclasses. It functions as an asynchronous GraphQL server and execution engine, providing a bridge to expose schemas across ASGI-compliant web frameworks such as FastAPI, Django, Flask, and Litestar. The project implements GraphQL Federation, allowing for the creation of distributed schemas and entities that merge into a unified supergraph across multiple services. It also includes a dedicated toolkit for the Relay specification, supporting global object identification a
graphql-tools is a toolkit for constructing, modifying, and combining GraphQL schemas. It provides a suite of utilities for parsing Schema Definition Language, managing resolver bindings, and assembling executable schemas. The project enables the composition of unified GraphQL gateways by merging multiple independent subschemas through schema stitching. This includes capabilities for entity type merging, type extension, and field resolution delegation to route requests across different services. The toolkit also includes a mocking engine that generates simulated GraphQL schemas and data. Thi
graphql-go is a server library for implementing GraphQL servers in Go. It provides the core infrastructure for schema parsing, resolver mapping, and query execution. The library includes a subscription engine that enables real-time data streaming to clients using WebSocket transport. It also features an execution tracer for monitoring and profiling query performance through telemetry tools. The system manages resource consumption and stability through a query optimizer that enforces depth restrictions and controls resolver concurrency. It supports data fetching optimization via field-level p
async-graphql is a type-safe framework for building specification-compliant GraphQL servers in Rust. It uses procedural macros to automatically generate schemas from native language structures, ensuring consistency between the data model and the API specification. The project provides native support for Apollo Federation v2, allowing entities and fields to be shared and resolved across multiple distributed subgraphs. It also implements real-time data streaming via WebSocket subscriptions and asynchronous event streams. The framework includes a wide array of capabilities for schema design, su
Absinthe is a GraphQL server implementation and query engine for the Elixir ecosystem. It provides the fundamental toolkit for building GraphQL APIs, including a processing engine that parses, validates, and executes documents against a defined application schema. The project includes a batch resolver to optimize database performance by grouping field requests and a complexity guard to protect system resources by rejecting queries that exceed defined cost thresholds. It also features a schema adapter that translates internal Elixir naming conventions to external GraphQL casing for client comp
graphql-go is a schema-first GraphQL library and server implementation for Go. It provides a query execution engine and schema parser that converts schema definition strings into executable structures and validates resolver signatures. The library also includes a streaming implementation for real-time GraphQL subscriptions using channels within resolvers. The project distinguishes itself through parallel resolver execution to reduce request latency and the use of buffer-pool memory management to lower garbage collection overhead. It enables the creation of cloneable schema instances from a sh
express-graphql is a GraphQL API server implementation and HTTP middleware that connects a GraphQL schema to an HTTP server. It provides a request parser to extract queries and variables from various content types and a context provider to inject HTTP request data and session state into resolver functions. The library includes a browser-based interactive IDE that detects GET requests to serve an HTML interface for testing queries and inspecting responses. It also supports a custom execution pipeline, allowing for the override of default parsing, validation, execution, and error formatting fun
Graphene is a library and framework for building type-safe GraphQL APIs and schemas using Python objects and resolvers. It provides a system for mapping internal data models to typed GraphQL schemas, enabling the creation of servers that process queries and execute resolvers to return structured data. The project includes a full implementation of the Relay specification, providing standardized patterns for global object identification and cursor-based pagination. It utilizes a class-based approach to schema definition and supports interface-based type inheritance. The framework covers a broa
This project is a GraphQL implementation for Go, providing a complete suite for building GraphQL servers. It includes a schema engine for defining types, a query parser to convert strings into abstract syntax trees, and an execution engine that resolves fields against a defined schema to return structured data. The library distinguishes itself through reflection-based type mapping, allowing object definitions and arguments to be derived directly from native Go structs. It also supports the execution of real-time data streaming via GraphQL subscriptions and provides an extensible execution pip
GraphQL.NET is a server-side framework for building and executing GraphQL APIs within C# applications. It provides a comprehensive toolkit for schema building, a federated engine for distributed data graphs, and a subscription handler for managing real-time data streams. The project distinguishes itself with a flexible schema builder that supports both programmatic code-first definitions and declarative schema-first approaches using the standard schema definition language. It includes a dedicated federation engine to split data graphs into subgraphs and compose them into a unified gateway, as
Graphene-Django is a GraphQL integration framework and schema mapper used to build typed APIs for Django applications. It functions as a database API layer that transforms Django model fields and relationships into a graph schema, allowing clients to request specific data in a single call. The project implements the Relay specification, providing tools for global object identification and standardized connection-based pagination to manage large datasets. It distinguishes itself by mapping database models, forms, and serializers directly into GraphQL object types and mutations. The framework
Markdig is a high-performance Markdown processor for .NET applications that converts Markdown text into HTML or other target formats. It is a CommonMark compliant parser and extensible engine that can transform Markdown into a searchable and manipulatable abstract syntax tree. The library provides a framework for adding custom syntax and rendering logic through a modular pipeline of parsers and renderers. It supports native ahead-of-time compilation and trimming to minimize binary size. Capabilities include the generation of structured HTML with custom attributes and styling, the extraction
This project is the JavaScript reference implementation of the GraphQL specification. It provides a query engine and schema parser designed to parse, validate, and execute queries to retrieve or mutate data based on a defined schema. The implementation includes a framework for mapping codebase structures to a strongly typed system and a tool for converting query strings into abstract syntax trees for programmatic analysis. The library covers the full surface of GraphQL API implementation, including schema definition, language parsing, and query validation. It provides the necessary infrastru
This project is a comprehensive educational resource and fullstack tutorial for GraphQL development. It provides instructional content and guides focused on designing schemas, implementing servers, and managing the end-to-end workflow of building production-ready applications. The material covers the conceptual differences between graph-based data structures and traditional API architectures. It includes a dedicated security course and guides for client integration, teaching users how to fetch data, manage application state, and apply protection measures to secure API endpoints. The scope of
Type-graphql is a framework for building GraphQL servers that uses TypeScript classes as the single source of truth for schema definitions and types. It provides a schema generator and a resolver framework that allows developers to define queries and mutations using class-based controllers and decorators. The project focuses on a schema-first approach where TypeScript classes and metadata reflection are used to automatically derive GraphQL schemas. It incorporates a dependency injection container to manage the instantiation and lifecycle of resolver classes. The system includes a middleware
HotChocolate is a GraphQL server implementation for .NET that handles queries, mutations, and subscriptions over HTTP. It provides code-first schema generation directly from C# classes and attributes, keeping the schema and business logic in sync without manual type definitions. The project also includes a GraphQL gateway that composes multiple GraphQL and REST endpoints into a single unified schema, along with a GraphQL IDE for exploring, testing, and debugging GraphQL APIs interactively. The project distinguishes itself through its comprehensive tooling ecosystem, which includes a GraphQL c
This project provides a foundational boilerplate for building full-stack web applications that connect React frontend interfaces to backend GraphQL services. It serves as a structured environment for developers to initialize both client and server components, ensuring a unified architecture for data-driven software. The framework emphasizes a schema-first approach to API design, allowing for consistent data modeling across the entire stack. It includes pre-configured templates that integrate authentication and real-time subscription capabilities, alongside modular middleware for managing requ
graphql-tools is a GraphQL schema orchestration library and toolkit designed for building, merging, and extending schemas. It provides an SDL-first schema generator that transforms Schema Definition Language strings and resolver maps into executable schema instances. The project features a dedicated schema stitching tool for combining multiple independent GraphQL schemas into a single unified API gateway. It also includes a GraphQL mocking engine that simulates backends by generating synthetic data based on schema definitions. The toolkit covers a broad range of composition capabilities, inc
Subql is a blockchain data indexing framework and TypeScript-based indexer used to extract raw blockchain events and transactions and transform them into structured, queryable data entities. It functions as a data API and a tool for building decentralized application backends, providing a query interface for type-safe access to indexed blockchain data. The project includes an AI-powered query engine that utilizes large language models to translate natural language questions into structured GraphQL queries. This system can orchestrate multi-step queries by breaking down complex requests into s
Yoga is a GraphQL server framework and runtime-agnostic HTTP handler used to build and deploy GraphQL APIs. It functions as a toolkit for managing schemas and resolvers, providing a spec-compliant environment for hosting APIs across diverse JavaScript runtimes, including Node.js, Deno, Bun, and serverless cloud environments. The project distinguishes itself through its ability to act as an Apollo Federation gateway, composing multiple subgraphs into a single unified supergraph. It also serves as a dedicated subscription server, delivering real-time data streaming via both WebSockets and Serve
Spring GraphQL is a Java framework designed for building GraphQL services by mapping schema definitions directly to backend controller logic. It provides a reactive execution engine that processes queries and subscriptions asynchronously, supporting multiple network transports to facilitate communication between clients and data sources. The framework distinguishes itself through annotation-driven request routing, which decouples schema definitions from business logic to reduce implementation boilerplate. It includes native support for federated service composition, allowing developers to agg
Type-graphql is a toolkit and framework for creating type-safe GraphQL APIs. It functions as a schema generator and resolver library that uses TypeScript classes and decorators as the primary source of truth for data structures and query logic. The project enables the definition of GraphQL schemas and resolvers through typed classes rather than manual schema definition language. This approach ensures that TypeScript types automatically align with the GraphQL schema to prevent runtime errors. The framework provides capabilities for API implementation, including input data validation and acces
JavaParser is a library that parses Java source code up to version 12 into an Abstract Syntax Tree (AST), enabling programmatic analysis, transformation, and generation of Java code. It serves as a parser, code analyzer, code generator, comment parser, and symbol resolver, providing a unified toolkit for working with Java source at the AST level. The library distinguishes itself through several integrated capabilities that go beyond basic parsing. It includes a symbol resolution engine that resolves type and symbol references across files for accurate semantic analysis, and an error-recovery
This project is a technical handbook and tutorial guide for the Babel compiler. It serves as a resource for configuring the tool and writing custom plugins to transform JavaScript source code. The guide provides instructional material on creating custom transformation plugins and modifying the compilation process. It specifically covers how to navigate and modify abstract syntax trees to programmatically rewrite source code. The documentation covers the mechanics of code transformation, the management of compiler configurations, and the fundamentals of compiler tooling. It includes guidance
OpenRewrite is an automated refactoring engine and source-to-source migration framework. It uses a lossless semantic tree parser to represent source code as type-aware trees that preserve original whitespace and formatting, enabling precise and deterministic modifications. The project utilizes a declarative refactoring pipeline where sequences of transformations are defined in YAML to resolve breaking changes and technical debt. It features type-aware pattern matching and cross-language model mapping to apply similar refactoring patterns across different programming languages. The framework
Scriban is a .NET text templating engine and embedded scripting language used for dynamic text generation. It functions as an abstract syntax tree manipulation tool and a template parser, allowing for the conversion of scripts into visitable trees for analysis, modification, and rendering. The engine is specifically designed for Native AOT compatibility, utilizing a reflection-free API to execute templates in trimmed environments. It also provides a dedicated parser and conversion system for Liquid templates, enabling the migration and execution of Liquid scripts within .NET. The project cov
syn is a Rust syntax tree parser and token stream converter. It serves as a toolkit for procedural macro development, providing a framework to parse Rust source code into structured syntax trees for analysis and transformation. The project enables the manipulation of Rust abstract syntax trees through specialized visitor and folder patterns for traversing and mutating nodes. It provides a bidirectional mapping that allows developers to convert token streams into structured trees and print those trees back into tokens for code generation. The library covers a broad range of syntax analysis ca
Lightning CSS is a high-performance CSS toolchain implemented in Rust. It provides a comprehensive suite of tools for stylesheet processing, including a bundler, minifier, module compiler, syntax lowerer, and vendor prefixer. The engine utilizes a browser-grade grammar for parsing and converts stylesheets into typed property values. It distinguishes itself through a visitor-based transformation API that allows for custom modifications of the parsed abstract syntax tree and an error-tolerant parsing mechanism that recovers from malformed syntax to prevent build failures. The toolset covers br