On this page
Overview
Sequel is a database toolkit for Ruby. It centers database access on Database connections and chainable Dataset objects, and adds transactions, schema changes, migrations, prepared statements, and record mapping through Sequel::Model. The current version source and changelog identify 5.109.0.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Compose SQL through Dataset objects and execute only when results are needed
Starting from DB[:table], datasets can chain where, select, joins, ordering, aggregates, and subqueries. Datasets keep query composition lazy, while placeholders and Sequel expressions let application code preserve the underlying SQL structure.
Sources: [2]
Combine connections, transactions, schema changes, migrations, and an optional model layer
Sequel provides connection pools, transactions, table creation and alteration, migrations, and prepared statements. Sequel::Model can map datasets to Ruby objects, while adapters and extensions cover PostgreSQL, SQLite, MySQL-family databases, and database-specific features.
Sources: [2]
Best fit
Fits backends that want Ruby composition without hiding the database behind a heavy abstraction
It is useful for APIs, workers, and batch jobs that want explicit SQL-shaped query building together with transactions, associations, and plugins. Applications can stay dataset-centric or opt into the Active Record-style Sequel::Model layer.
Sources: [2]
Before adoption
5.109.0 requires Ruby 2.0+; review adapter dependencies and SQL-literal and extension-loading boundaries
The gemspec requires Ruby 2.0 or newer, while actual database connections need separate adapter gems such as sqlite3 or pg. Raw SQL and Sequel.lit should use placeholders rather than interpolating untrusted input. Version 5.109.0 also hardens Sequel.extension by rejecting extension paths containing ../ or ..\.
Official sources
- [1]jeremyevans/sequel — GitHub repository(2026-10-06)
- [2]Sequel — README(2026-10-06)
- [3]Sequel — version source(2026-10-06)
- [4]Sequel — sequel.gemspec(2026-10-06)
- [5]Sequel — CHANGELOG(2026-10-06)
- [6]Sequel — MIT License(2026-10-06)
Supplemental curator note
Sequel fits backends that want Ruby-level composition without hiding the shape of SQL. Database adapter gems are separate dependencies, and raw SQL or Sequel.lit should use placeholders instead of interpolating untrusted input.
Try it in 3 steps
- 1
Get the source
git clone --depth 1 https://github.com/jeremyevans/sequel.git - 2
Enter the repository
cd sequel - 3
Check the official steps
Continue with the commands in the README Installation, Quick Start, or Getting Started section.
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Growth
Growth trends · Last 30 days
5,098 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 35
- Open PRs
- 0
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- mysql22,273 Stars
3 shared tag(s) · 2 shared category(s) · Same language
connect Ruby to MySQL or MariaDB and handle SQL queries, prepared statements, and streaming results
Ruby - pg_search1,588 Stars
3 shared tag(s) · 2 shared category(s) · Same language
Expose PostgreSQL full-text search, trigrams, ranking, and multi-model search as ActiveRecord scopes
Ruby - GORM39,982 Stars
3 shared tag(s) · 2 shared category(s)
combine associations, transactions, and SQL building in a full-featured Go ORM
Go - Ent17,204 Stars
3 shared tag(s) · 2 shared category(s)
generate statically typed query APIs from Go schemas with an entity framework
Go - Diesel14,193 Stars
3 shared tag(s) · 2 shared category(s)
validate SQL queries and schemas with Rust's type system through an ORM and query builder
Rust - SQLAlchemy12,201 Stars
3 shared tag(s) · 2 shared category(s)
combine SQL expressions and ORM mapping in one Python data-access toolkit
Python
Report incorrect information
Tell us if any listing information is incorrect or outdated.