cfahlgren1 / hf-data-explorer

Chrome Extension for exploring Hugging Face datasets 🔎
https://chromewebstore.google.com/detail/hugging-face-datasets-exp/algkmpgdgbindfpddilldlogcbhpkhhd
23 stars 1 forks source link
datasets duckdb duckdb-wasm huggingface wasm

HF Data Explorer

A Chrome Extension for exploring and query Hugging Face datasets with SQL.

HF Data Explorer Screenshot

Getting Started

Installing

  1. Download the latest release from the Releases page.
  2. Unzip the downloaded file.
  3. Open Google Chrome and navigate to chrome://extensions/.
  4. Enable "Developer mode" by toggling the switch in the top right corner.
  5. Click on "Load unpacked" button.
  6. Select the unzipped folder containing the extension files.
  7. The HF Data Explorer extension should now be installed and visible in your Chrome toolbar.

Limitations

DuckDB WASM can only use ~ 4GB of memory (more like 3.4GB with duckdb memory limit). Since DuckDB WASM can't spill extra data to disk like the other clients, it may not be able to perform very large or advanced queries. However, DuckDB WASM is still very fast, performant, and can work for most workloads.

Contributing

This is a Plasmo extension project bootstrapped with plasmo init.

First, run the development server:

pnpm dev
# or
npm run dev

Open your browser and load the appropriate development build. For example, if you are developing for the chrome browser, using manifest v3, use: build/chrome-mv3-dev.

You can start editing the popup by modifying popup.tsx. It should auto-update as you make changes. To add an options page, simply add a options.tsx file to the root of the project, with a react component default exported. Likewise to add a content page, add a content.ts file to the root of the project, importing some module and do some logic, then reload the extension on your browser.

For further guidance, visit our Documentation

Making production build

Run the following:

pnpm build
# or
npm run build

This should create a production bundle for your extension, ready to be zipped and published to the stores.