Skip to main content

AccessDB Parser (Pure Python)

Microsoft Access (.mdb / .accdb) database files parser. The parsing logic is fully written in python and works without any external binary dependencies.

Installing

Use pip: pip install git+https://github.com/McSash/access_parser_c

Or install manually:

git clone https://github.com/McSash/access_parser_c.git
cd access_parser_c
python3 setup.py install

Demo

asciicast

Usage Example

from access_parser_c import AccessParser

# .mdb or .accdb file
db = AccessParser("/path/to/mdb/file.mdb")

# Print DB tables
print(db.catalog)

# Tables are stored as defaultdict(list) -- table[column][row_index]
table = db.parse_table("table_name")

# Pretty print all tables
db.print_database()

Another Usage Example

from access_parser import AccessParser
from azure.storage.blob import ContainerClient

# Download access file from azure blob storage
BlobContainerClient = ContainerClient.from_connection_string("<StorageConnectionString>", container_name="<ContainerName>")
access_object = BlobContainerClient.download_blob("<PathToFile>").readall()

# Bytes object of .mdb or .accdb file
db = AccessParser(access_object)

# Print DB tables
print(db.catalog)

# Tables are stored as defaultdict(list) -- table[column][row_index]
table = db.parse_table("table_name")

# Pretty print all tables
db.print_database()

Known Issues

  • OLE fields are currently not supported
  • Only a subset of memo fields are parsed

This library was tested on a limited subset of database files. Due to the differences between database versions and the complexity of the parsing we expect to find more parsing edge-cases.

To help us resolve issues faster please provide as much data as you can when opening an issue - DB file if possible and full trace including log messages.

Thanks

Metadata

Release files for access-parser-c 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for access-parser-c 0.0.7
File Size Uploaded Provenance Actions
access_parser_c-0.0.7.tar.gz 15.8 kB Without provenance Details for access_parser_c-0.0.7.tar.gz

Release files / access_parser_c-0.0.7.tar.gz

Download URL access_parser_c-0.0.7.tar.gz
Size 15.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a76b512746afb55e5c6d4d95e837645c2e021cf52d2526cd88ae539023a43e31
BLAKE2b-256 checksum
How to use checksums
051b398d00b7ba3cbbdd1d90103d16cb406ea68504b3a9a8454925cfd377f3d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Security for access-parser-c 0.0.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page