{"id":22434,"library":"tacoreader","title":"TacoReader","description":"TacoReader is a Python library for querying AI-ready datasets, supporting lazy SQL evaluation via DuckDB. It reads TACO datasets in ZIP (.tacozip), folder, or TacoCat consolidated formats. Current version: 2.4.21, requires Python >=3.10, <3.14. Release cadence: feature releases every few months, patch releases as needed.","status":"active","version":"2.4.21","language":"python","source_language":"en","source_url":"https://github.com/tacofoundation/tacoreader","tags":["datasets","sql","lazy","duckdb","ai","taco"],"install":[{"cmd":"pip install tacoreader","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Used for lazy SQL query execution.","package":"duckdb","optional":false}],"imports":[{"note":"","wrong":"","symbol":"load","correct":"from tacoreader import load"},{"note":"","wrong":"","symbol":"TacoDataset","correct":"from tacoreader import TacoDataset"}],"quickstart":{"code":"from tacoreader import load\n\ndataset = load(\"path/to/dataset.tacozip\")\n# Apply a filter and query\nfiltered = dataset.filter(\"time==2024\")\nresult = filtered.sql(\"SELECT * FROM dataset LIMIT 5\")\nprint(result)","lang":"python","description":"Load a TACO dataset, filter by time, and execute a SQL query."},"warnings":[{"fix":"Replace `str(path)` with just `path` when calling `load()`.","message":"In v2.4.0, `load()` accepts `pathlib.Path` objects directly. If you were converting Path to str, update to use Path directly.","severity":"breaking","affected_versions":"<2.4.0"},{"fix":"Remove `base_path` argument and provide paths as absolute or relative to dataset.","message":"The `base_path` parameter in `load()` is deprecated as of v2.4.0. Use `load()` with absolute paths or ensure paths are relative to the dataset root.","severity":"deprecated","affected_versions":">=2.4.0"},{"fix":"Ensure you understand filter propagation; if needed, apply the same filter after concat.","message":"When using `Dataset.concat()` with pre-filtered datasets, filters are preserved. If you expect filters to be cleared, you may get empty results.","severity":"gotcha","affected_versions":">=2.4.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Install with `pip install tacoreader`. Verify with `python -m pip list`. Use correct Python version (>=3.10, <3.14).","cause":"tacoreader is not installed or Python environment is wrong.","error":"ModuleNotFoundError: No module named 'tacoreader'"},{"fix":"Use `from tacoreader import load` and ensure tacoreader >=2.3.0. Check version: `python -c 'import tacoreader; print(tacoreader.__version__)'`","cause":"Importing wrong symbol or using outdated version before 'load' was added.","error":"AttributeError: module 'tacoreader' has no attribute 'load'"},{"fix":"Verify the dataset path exists and has .tacozip extension or is a folder with correct structure. Use absolute paths if ambiguous.","cause":"Dataset path is incorrect or the file format is not recognized.","error":"duckdb.InvalidInputException: Invalid Input Error: No files found that match the pattern"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}