diff --git a/mempalace/project_scanner.py b/mempalace/project_scanner.py index e078b6e..c03b883 100644 --- a/mempalace/project_scanner.py +++ b/mempalace/project_scanner.py @@ -28,7 +28,10 @@ from typing import Optional try: import tomllib # Python 3.11+ except ImportError: # pragma: no cover - tomllib = None # type: ignore + try: + import tomli as tomllib # Python 3.9/3.10 backport + except ImportError: + tomllib = None # type: ignore SKIP_DIRS = { @@ -130,7 +133,7 @@ def _parse_toml(path: Path) -> dict: try: with open(path, "rb") as f: return tomllib.load(f) - except (OSError, Exception): + except (OSError, tomllib.TOMLDecodeError): return {} diff --git a/pyproject.toml b/pyproject.toml index 8733ec3..617c067 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ classifiers = [ dependencies = [ "chromadb>=1.5.4,<2", "pyyaml>=6.0,<7", + "tomli>=2.0.0; python_version < '3.11'", ] [project.urls]