github.com/walkable-server/walkable

A Clojure(script) SQL library for building APIs: Datomic® (GraphQL-ish) pull syntax, data driven configuration, dynamic filtering with relations in mind

Open this visualization on its own page →

Contributors

5

Lines of Code

1,414

From

2018-02-12

To

2020-09-23

About walkable-server/walkable

Walkable is a SQL library for Clojure and ClojureScript designed to simplify the process of building database-backed APIs. It uses a data-driven, declarative approach that draws inspiration from Datomic's pull syntax and GraphQL, allowing developers to define queries and transformations through configuration rather than imperative code. The library supports multiple SQL databases including PostgreSQL, MySQL, SQLite, and Oracle, making it adaptable to different backend environments.

The core functionality centers on dynamic filtering and relational queries, with the library handling the complexity of joins and data fetching automatically based on declared schemas and relationships. Rather than writing raw SQL or managing multiple query builders, developers describe what data they need using Walkable's pull-like syntax, and the library generates the appropriate SQL and handles the results. This approach is particularly useful for building flexible APIs where filtering and data selection requirements may change dynamically.

Walkable targets developers who want to reduce boilerplate when working with SQL databases in Clojure applications, especially those building GraphQL-like APIs or other query-driven services. Its emphasis on data-driven configuration and declarative syntax aligns well with the broader Clojure philosophy of favoring data over code, making it a natural fit for teams already working in the Clojure ecosystem.

Share this video