A GraphQL framework for Rust that automatically generates a fully-typed GraphQL API from SeaORM entities.
Seaography is a GraphQL framework for Rust that automatically generates a fully-typed GraphQL API from SeaORM database entities. It bridges SeaORM and async-graphql to expose a complete schema with filters, pagination, and nested relations, minimizing boilerplate code. The framework uses async-graphql's dynamic schema engine to avoid heavy code generation, resulting in faster compile times while keeping the schema synchronized with the database.
Rust developers building GraphQL backends who use SeaORM as their ORM and want to quickly expose their database schema as a GraphQL API. It is also suitable for teams needing extensible GraphQL servers with support for multiple web frameworks like Actix, Axum, Poem, or Loco.
Developers choose Seaography because it automatically generates a production-ready GraphQL API from SeaORM entities with minimal configuration, reducing development time. Its unique selling point is the combination of dynamic schema generation for faster compiles, seamless integration with SeaORM's relational queries, and extensibility through custom queries, mutations, and authorization hooks.
🧭 A GraphQL framework for Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates a complete GraphQL API directly from SeaORM entities, including filters, pagination, and nested relations, reducing boilerplate code as shown in the quick demo queries.
Allows custom queries, mutations, and input/output objects using derive macros, enabling seamless integration with auto-generated schemas for tailored business logic.
Supports relational queries, both offset and cursor-based pagination, filtering with operators, and ordering by any column, providing comprehensive data access out of the box.
Ships with ready-to-run examples for Actix, Axum, Poem, and Loco, making it easy to integrate with various Rust web frameworks without lock-in.
Heavily reliant on SeaORM; if you switch ORMs or use raw SQL, Seaography becomes unusable, limiting flexibility for database layer changes.
Lacks built-in GraphQL subscriptions for real-time features, requiring additional work with async-graphql or external solutions for live data updates.
Requires installing multiple CLI tools (sea-orm-cli, seaography-cli) and database setup, which can be cumbersome for newcomers or rapid prototyping without existing SeaORM schemas.