Tuql: Automatically create a GraphQL server from a SQLite database

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • tuql

    Automatically create a GraphQL server from a SQLite database or a SQL file

  • roapi

    Create full-fledged APIs for slowly moving datasets without writing a single line of code.

  • If your use case is read-only I suggest taking a look at roapi[1]. It supports multiple read frontends (GraphQL, SQL, REST) and many backends like SQLite, JSON, google sheets, MySQL, etc.

    [1] https://github.com/roapi/roapi

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • datasette-graphql

    Datasette plugin providing an automatic GraphQL API for your SQLite databases

  • Impressive how little code is involved here! This is really neat.

    The biggest feature I can see that's missing is pagination - it looks like this doesn't have a way to retrieve e.g. ten results, then pass a next token to get back the next set.

    Here's how I implemented pagination in my similar datasette-graphql plugin (which also gives you a GraphQL API for an existing SQLite database): https://github.com/simonw/datasette-graphql#pagination

  • datasette

    An open source multi-tool for exploring and publishing data

  • pluralize

    Pluralize or singularize any word based on a count

  • > The primary key column is named id or thing_id or thingId, where thing is the singular form of the table name.

    Is it naming relations in plural a common thing in practice?

    I thought best-practice was to name relations either singular (as each tuple represents one entry) or uninflected (still singular for most words), specially when you're not a fluent speaker of the language being used to name the relations of the database.

    Plurals are often irregular for commonly used words, and the fact that this requires a external dependency ( https://github.com/plurals/pluralize ) to cover for some "common plurals" is telling that supporting this feature is a complex thing indeed - that would not be required in the first place with singular everywhere.

  • madatdata

    😠 📈 Madatdata ("mad at data") is a TypeScript library for managing and querying SQL databases (so far including Seafowl and Splitgraph, but with an interface that makes it easy to add plugins for other databases).

  • You might like what we're building with Seafowl [0], which is an open-source, single binary database you can deploy to the edge for executing cache-friendly queries (so e.g. you can deploy to fly.io free tier, load your data into it, and put Cloudflare in front of it to cache query results like any other HTTP response).

    Here's an example [1] multi-page site with Next.js and Seafowl.

    [0] https://seafowl.io/docs/getting-started/introduction

    [1] https://github.com/splitgraph/madatdata/tree/main/examples/r...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts