Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. seaography

seaography

Apache-2.0Rust2.0.0-rc.9

A GraphQL framework for Rust that automatically generates a fully-typed GraphQL API from SeaORM entities.

Visit WebsiteGitHubGitHub
537 stars63 forks0 contributors

What is seaography?

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.

Target Audience

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.

Value Proposition

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.

Overview

🧭 A GraphQL framework for Rust

Use Cases

Best For

  • Rapidly prototyping GraphQL backends from existing SeaORM database schemas with minimal boilerplate.
  • Building GraphQL APIs that require rich query support including relational queries, filtering, and both offset and cursor-based pagination.
  • Implementing authorization and custom business logic in GraphQL resolvers using RBAC, guards, and lifecycle hooks.
  • Developing framework-agnostic GraphQL servers that need to work with multiple Rust web frameworks like Actix, Axum, or Poem.
  • Extending auto-generated GraphQL schemas with custom queries, mutations, and input/output objects using derive macros.
  • Teams requiring a GraphQL solution that stays in sync with database schema changes without manual updates.

Not Ideal For

  • Projects not using SeaORM as their ORM, since Seaography is tightly coupled to SeaORM entities and database schemas.
  • Applications requiring real-time GraphQL subscriptions for features like live updates, as the README does not mention subscription support.
  • Teams preferring a schema-first GraphQL design with full manual control over type definitions, rather than database-driven generation.
  • Environments where the database schema changes frequently and unpredictably, as automatic generation might introduce breaking GraphQL API changes without careful versioning.

Pros & Cons

Pros

Automatic Schema Generation

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.

Extensible with Macros

Allows custom queries, mutations, and input/output objects using derive macros, enabling seamless integration with auto-generated schemas for tailored business logic.

Rich Query Support

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.

Framework Agnostic

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.

Cons

Tight SeaORM Dependency

Heavily reliant on SeaORM; if you switch ORMs or use raw SQL, Seaography becomes unusable, limiting flexibility for database layer changes.

No Subscription Support

Lacks built-in GraphQL subscriptions for real-time features, requiring additional work with async-graphql or external solutions for live data updates.

Complex Initial Setup

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.

Frequently Asked Questions

Quick Stats

Stars537
Forks63
Contributors0
Open Issues32
Last commit3 months ago
CreatedSince 2022

Tags

#hacktoberfest#orm#database#postgres#api-framework#graphql#async#async-graphql#mariadb#mysql#sqlite#backend#rust#code-generation#sql

Built With

M
MySQL
S
SQLite
a
async-graphql
P
PostgreSQL
R
Rust
p
poem
a
axum
A
Actix
S
SeaORM

Links & Resources

Website

Included in

Rust56.6k
Auto-fetched 23 hours ago

Related Projects

QdrantQdrant

Qdrant - High-performance, massive-scale Vector Database and Vector Search Engine for the next generation of AI. Also available in the cloud https://cloud.qdrant.io/

Stars34,941
Forks2,726
Last commit23 hours ago
RustFSRustFS

RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.

Stars34,421
Forks1,549
Last commit1 day ago
SurrealDBSurrealDB

A scalable, distributed, collaborative, document-graph database, for the realtime web

Stars33,104
Forks1,365
Last commit6 days ago
TursoTurso

A SQL database in Rust: SQLite-compatible, now also speaking Postgres (experimental). The LLVM of databases.

Stars24,641
Forks1,410
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub