Pydal
A pure Python Database Abstraction Layer
Install / Use
/learn @web2py/PydalREADME
pyDAL
pyDAL is a pure Python Database Abstraction Layer.
It dynamically generates the SQL/noSQL in realtime using the specified dialect for the database backend, so that you do not have to write SQL code or learn different SQL dialects (the term SQL is used generically), and your code will be portable among different types of databases. What makes pyDAL different from most of the other DALs is the syntax: it maps records to python dictionaries, which is simpler and closer to SQL. Other famous frameworks instead strictly rely on an Object Relational Mapping (ORM) like the Django ORM or the SQL Alchemy ORM, that maps tables to Python classes and rows to Objects.
Historically pyDAL comes from the original web2py's DAL, with the aim of being compatible with any Python program. However, pyDAL nowadays is an indipendent package that can be used in any Python 3.7+ context.
Installation
You can install pyDAL using pip:
pip install pyDAL
Usage and Documentation
Here is a quick example:
>>> from pydal import DAL, Field
>>> db = DAL('sqlite://storage.db')
>>> db.define_table('thing', Field('name'))
>>> db.thing.insert(name='Chair')
>>> query = db.thing.name.startswith('C')
>>> rows = db(query).select()
>>> print rows[0].name
Chair
>>> db.commit()
The complete updated documentation is available on the py4web manual
What's in the box?
A little taste of pyDAL features:
- Transactions
- Aggregates
- Inner Joins
- Outer Joins
- Nested Selects
Which databases are supported?
pyDAL supports the following databases:
- SQLite
- MySQL
- PostgreSQL
- MSSQL
- FireBird
- Oracle
- DB2
- Ingres
- Sybase
- Informix
- Teradata
- Cubrid
- SAPDB
- IMAP
- MongoDB
- Google Firestore
License
pyDAL is released under the BSD-3c License. For further details, please check the LICENSE file.
Related Skills
feishu-drive
339.3k|
things-mac
339.3kManage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database)
clawhub
339.3kUse the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com
yu-ai-agent
2.0k编程导航 2025 年 AI 开发实战新项目,基于 Spring Boot 3 + Java 21 + Spring AI 构建 AI 恋爱大师应用和 ReAct 模式自主规划智能体YuManus,覆盖 AI 大模型接入、Spring AI 核心特性、Prompt 工程和优化、RAG 检索增强、向量数据库、Tool Calling 工具调用、MCP 模型上下文协议、AI Agent 开发(Manas Java 实现)、Cursor AI 工具等核心知识。用一套教程将程序员必知必会的 AI 技术一网打尽,帮你成为 AI 时代企业的香饽饽,给你的简历和求职大幅增加竞争力。
