dataset
Dataset is a Python library that simplifies reading and writing data to SQL databases by abstracting away boilerplate code. It provides JSON-like syntax for database operations, making it accessible to developers who want to avoid complex ORM or raw SQL.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | pudo/dataset |
| Owner | pudo |
| Primary language | Python |
| License | MIT — OSI-approved |
| Stars | 4.9k |
| Forks | 299 |
| Open issues | 21 |
| Latest release | 2.0.0 (2026-04-12) |
| Last updated | 2026-06-24 |
| Source | https://github.com/pudo/dataset |
What dataset is
Dataset wraps SQLAlchemy to provide a minimal, dictionary-like interface for SQL operations including implicit table creation, bulk loading, and transaction support. As of v1.0, data export features were extracted into a separate package (datafreeze).
Get the dataset source
Clone the repository and explore it locally.
git clone https://github.com/pudo/dataset.gitcd dataset# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Implicit table creation is convenient for prototyping but requires careful planning in production to avoid accidental schema mutations.
- Dependency on SQLAlchemy means the database driver ecosystem is inherited; verify your target database (PostgreSQL, MySQL, SQLite, etc.) is supported.
- Data export functionality is now in a separate package (datafreeze); plan for additional dependency if export features are needed.
- Transaction support is available but error handling and rollback logic must be explicit in application code.
- Testing should cover multiple database backends if multi-database support is a requirement.
When to avoid it — and what to weigh
- Complex relational schemas — Applications requiring sophisticated joins, foreign keys, constraints, or multi-table transactions may outgrow dataset's minimal abstraction.
- Performance-critical queries — High-throughput systems requiring query optimization, indexing strategies, or batch performance tuning will need lower-level database control.
- Strong data validation requirements — Projects needing comprehensive schema validation, type coercion, or migration frameworks should use a full ORM like SQLAlchemy directly or Alembic.
- Enterprise data governance — Regulated environments requiring audit trails, encryption, role-based access, or compliance reporting need built-in features not provided by dataset.
License & commercial use
Licensed under MIT (MIT License), a permissive OSI-approved license allowing commercial use, modification, and distribution with minimal restrictions.
MIT license permits commercial use without restriction. No proprietary restrictions detected in the codebase. Standard practice: retain copyright notice and license text. Verify with legal counsel for enterprise deployment, though the license itself is permissive.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
No built-in support for parameterized queries is not explicitly stated, but SQLAlchemy's underlying driver should handle injection prevention if used correctly. Verify parameterization of user-supplied values. No information on authentication, encryption at rest, or audit logging. Dependency on SQLAlchemy's security posture. Production deployments should conduct code review and threat modeling.
Alternatives to consider
SQLAlchemy ORM
Full-featured ORM with relationships, migrations, and advanced query features; steeper learning curve but more powerful for complex schemas.
Peewee
Lightweight Python ORM with explicit syntax and good documentation; more structure than dataset while remaining simple.
Tortoise ORM
Async-first ORM with modern Python async/await support; better for high-concurrency applications than dataset.
Build on dataset with DEV.co software developers
Evaluate dataset for your project: review the full documentation, test with your database backend, and assess whether the minimal abstraction fits your schema complexity and performance requirements.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
dataset FAQ
Does dataset support async/await?
Can I use dataset with an existing database schema?
What databases does dataset support?
Is dataset suitable for production systems?
Software development & web development with DEV.co
Adopting dataset is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source databases software in production.
Ready to simplify your database operations?
Evaluate dataset for your project: review the full documentation, test with your database backend, and assess whether the minimal abstraction fits your schema complexity and performance requirements.