dbfread
Read DBF Files with Python
What it is and what it does
dbfread is a pure-Python library for reading DBF files—the legacy database format used by dBase, Visual FoxPro, and similar systems. It parses DBF records and returns them as ordered dictionaries or custom types, with support for 18 field types and memo files (FPT and DBT). Records can be streamed directly from disk or loaded into memory for random access, making it suitable for batch jobs and one-off data migration scripts.
The package has no external dependencies and installs easily. However, it has been abandoned since 2016-11-25, with no maintenance or bug fixes. While it may still work for straightforward DBF reading tasks, there is no active support for emerging issues or modern Python versions.
Use it for:
- Migrate legacy dBase or Visual FoxPro data to modern databases or formats in batch scripts.
- Extract and parse DBF files from archived systems or legacy business applications.
- Read memo fields (FPT, DBT) alongside structured DBF records for data recovery or analysis.
- Prototype quick data import tools when DBF is the only available source format.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reads DBF database files (dBase, Visual FoxPro, FoxBase+) and returns records as native Python data types, supporting both streaming and in-memory access.
Yes, but only for legacy data recovery or one-off batch jobs where DBF is the source format and you accept the risk of an unmaintained package. The lack of dependencies and simple API make it low-friction to try. Do not use for production systems or new projects; consider alternatives if you need active maintenance or handling of edge cases discovered since 2016.
Install
dbfread on PyPI
pip
pip install dbfreaduv
uv add dbfreadpoetry
poetry add dbfreadInstalling dbfread
Before you install
Pure Python with no runtime dependencies and installs as a wheel with low friction. However, the package is abandoned—last release was 2016-11-25. No active maintenance or security updates.
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or distribution in commercial or private projects.
Quickstart
pip install dbfread
from dbfread import DBF
for record in DBF('people.dbf'):
print(record)
Verify before relying
- Whether the package handles all DBF variants reliably in practice beyond Visual FoxPro, which is noted as the primary test target.
- Current compatibility with modern Python versions beyond the stated 3.2 and 2.7 support from 2016.
- Whether memo file support (FPT and DBT) covers all real-world use cases encountered since the last release.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,549 days since the last release |
| First released | |
| Downloads | 2,275,757/month — #3,173 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: dbfread-2.0.7-py2.py3-none-any.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
dbfReads and writes dBase III, FoxPro, Visual…
permissive · top 15,000 on PyPI
agate-dbfAdds read support for DBF (dBASE) files to the…
permissive · top 15,000 on PyPI
dbt-duckdbdbt-duckdb connects dbt (a SQL/Python…
permissive · top 5,000 on PyPI
pyshpPyShp reads and writes ESRI Shapefiles in pure…
permissive · top 5,000 on PyPI
casbin-async-sqlalchemy-adapterProvides an asynchronous SQLAlchemy adapter for…
permissive · top 15,000 on PyPI
pyEDFlibpyEDFlib reads and writes EDF+/BDF+ biomedical…
permissive · top 15,000 on PyPI
agate-sqlagate-sql extends the agate data analysis…
permissive · top 15,000 on PyPI
datasetdataset simplifies reading and writing data to…
permissive · top 5,000 on PyPI
arrow-odbcReads data from ODBC data sources directly into…
permissive · top 15,000 on PyPI
canmatrixCanmatrix parses, manipulates, and converts CAN…
permissive · top 5,000 on PyPI