{"id":23193,"library":"access-parser","title":"Access Database Parser","description":"A pure-Python library for reading Microsoft Access database files (*.mdb, *.accdb) without requiring the Microsoft Access ODBC driver or any external dependencies. Version 0.0.6, released 2024-07-15, maintained irregularly.","status":"active","version":"0.0.6","language":"python","source_language":"en","source_url":"https://github.com/ClarotyICS/access_parser","tags":["access","database","parser","mdb","accdb","python"],"install":[{"cmd":"pip install access-parser","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":"The library exposes AccessParser directly from the top-level package.","wrong":"from access_parser.access_parser import AccessParser","symbol":"AccessParser","correct":"from access_parser import AccessParser"},{"note":"Custom exception for invalid database files.","symbol":"InvalidAccessDBError","correct":"from access_parser import InvalidAccessDBError"}],"quickstart":{"code":"from access_parser import AccessParser\n\n# Replace with your .mdb or .accdb file path\nparser = AccessParser('example.mdb')\n\n# Get list of table names\nprint(parser.tables())\n\n# Iterate over rows in a table\nfor row in parser.iter_rows('Table1'):\n    print(row)","lang":"python","description":"Open an Access database and iterate over table rows."},"warnings":[{"fix":"Add your own logging configuration (e.g., logging.basicConfig()) if you need to see library logs.","message":"Removed logging configuration on import: In v0.0.6, the library no longer configures logging on import. If your code relied on the library setting up logging, you must configure logging explicitly.","severity":"breaking","affected_versions":">=0.0.6"},{"fix":"Ensure the file is a valid, unencrypted Access database.","message":"File must be a proper .mdb or .accdb file: The library does not handle corrupted or password-protected databases. Trying to open an invalid file raises InvalidAccessDBError.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade to Python 3.8+ if encountering compatibility issues.","message":"Python 3.6 support is not actively tested: The library claims requires_python >=3.6, but newer versions may break on Python 3.6 due to dependency updates.","severity":"deprecated","affected_versions":">=0.0.5"},{"fix":"Update to access-parser>=0.0.6.","message":"NUL characters in parsed strings: Prior to v0.0.6, strings could contain NUL characters. Upgrade to v0.0.6+ to avoid this.","severity":"gotcha","affected_versions":"<0.0.6"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run: pip install access-parser","cause":"The package is installed as 'access-parser', but the import is 'access_parser'. Ensure you installed the correct package.","error":"ModuleNotFoundError: No module named 'access_parser'"},{"fix":"Use: from access_parser import AccessParser","cause":"Incorrect import; trying to import a submodule instead of the top-level class.","error":"AttributeError: module 'access_parser' has no attribute 'AccessParser'"},{"fix":"Verify the file is a valid .mdb or .accdb and is not password-protected.","cause":"The file is corrupted, password-protected, or not an Access database.","error":"access_parser.exceptions.InvalidAccessDBError: File is not a valid Access database"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}