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
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
- This fork was made possible by the great work by claroty: https://github.com/claroty/access_parser
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)
| 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.