embedding-atlas

Embedding Atlas is a tool that provides interactive visualizations for large embeddings. It allows you to visualize, cross-filter, and search embeddings and metadata.

https://github.com/apple/embedding-atlas

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.1%) to scientific vocabulary

Keywords

embedding visualization

Scientific Fields

Mathematics Computer Science - 88% confidence
Sociology Social Sciences - 87% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Embedding Atlas is a tool that provides interactive visualizations for large embeddings. It allows you to visualize, cross-filter, and search embeddings and metadata.

Basic Info
Statistics
  • Stars: 3,369
  • Watchers: 30
  • Forks: 160
  • Open Issues: 8
  • Releases: 3
Topics
embedding visualization
Created 8 months ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

Embedding Atlas

Embedding Atlas is a tool that provides interactive visualizations for large embeddings. It allows you to visualize, cross-filter, and search embeddings and metadata.

Features

  • 🏷️ Automatic data clustering & labeling: Interactively visualize and navigate overall data structure.

  • 🫧 Kernel density estimation & density contours: Easily explore and distinguish between dense regions of data and outliers.

  • 🧊 Order-independent transparency: Ensure clear, accurate rendering of overlapping points.

  • 🔍 Real-time search & nearest neighbors: Find similar data to a given query or existing data point.

  • 🚀 WebGPU implementation (with WebGL 2 fallback): Fast, smooth performance (up to few million points) with modern rendering stack.

  • 📊 Multi-coordinated views for metadata exploration: Interactively link and filter data across metadata columns.

Please visit https://apple.github.io/embedding-atlas for a demo and documentation.

screenshot of Embedding Atlas

Get started

To use Embedding Atlas with Python:

```bash pip install embedding-atlas

embedding-atlas ```

In addition to the command line tool, Embedding Atlas is also available as a Jupyter widget:

```python from embedding_atlas.widget import EmbeddingAtlasWidget

Show the Embedding Atlas widget for your data frame:

EmbeddingAtlasWidget(df) ```

Finally, components from Embedding Atlas are also available in an npm package:

bash npm install embedding-atlas

```js import { EmbeddingAtlas, EmbeddingView, Table } from "embedding-atlas";

// or with React: import { EmbeddingAtlas, EmbeddingView, Table } from "embedding-atlas/react";

// or Svelte: import { EmbeddingAtlas, EmbeddingView, Table } from "embedding-atlas/svelte"; ```

For more information, please visit https://apple.github.io/embedding-atlas/overview.html.

BibTeX

For the Embedding Atlas tool:

bibtex @misc{ren2025embedding, title={Embedding Atlas: Low-Friction, Interactive Embedding Visualization}, author={Donghao Ren and Fred Hohman and Halden Lin and Dominik Moritz}, year={2025}, eprint={2505.06386}, archivePrefix={arXiv}, primaryClass={cs.HC}, url={https://arxiv.org/abs/2505.06386}, }

For the algorithm that automatically produces clusters and labels in the embedding view:

bibtex @misc{ren2025scalable, title={A Scalable Approach to Clustering Embedding Projections}, author={Donghao Ren and Fred Hohman and Dominik Moritz}, year={2025}, eprint={2504.07285}, archivePrefix={arXiv}, primaryClass={cs.HC}, url={https://arxiv.org/abs/2504.07285}, }

Development

This repo contains multiple sub-packages:

Frontend:

  • packages/component: The EmbeddingView and EmbeddingViewMosaic components.

  • packages/table: The Table component.

  • packages/viewer: The frontend application for visualizing embedding and other columns. It also provides the EmbeddingAtlas component that can be embedded in other applications.

  • packages/density-clustering: The density clustering algorithm, written in Rust.

  • packages/umap-wasm: An implementation of UMAP algorithm in WebAssembly (with the umappp C++ library).

  • packages/embedding-atlas: The embedding-atlas package that get published. It imports all of the above and exposes their API in a single package.

Python:

  • packages/backend: A Python package named embedding-atlas that provides the embedding-atlas command line tool.

Documentation:

  • packages/docs: The documentation website.

For more information, please visit https://apple.github.io/embedding-atlas/develop.html.

License

This code is released under the MIT license.

Owner

  • Name: Apple
  • Login: apple
  • Kind: organization
  • Location: Cupertino, CA

Citation (CITATION.cff)

citation-file-format: 1.2.0
creator:
  - family-names: Ren
    given-names: Donghao
  - family-names: Hohman
    given-names: Fred
  - family-names: Lin
    given-names: Halden
  - family-names: Moritz
    given-names: Dominik
title: Embedding Atlas
version: 1.0.0
url: https://github.com/apple/embedding-atlas
preferred-citation:
  type: article
  authors:
    - family-names: Ren
      given-names: Donghao
    - family-names: Hohman
      given-names: Fred
    - family-names: Lin
      given-names: Halden
    - family-names: Moritz
      given-names: Dominik
  title: "Embedding Atlas: Low-Friction, Interactive Embedding Visualization"
  year: 2025
  journal: arXiv
  url: https://arxiv.org/abs/2505.06386

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 33
  • Total Committers: 3
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.061
Past Year
  • Commits: 33
  • Committers: 3
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.061
Top Committers
Name Email Commits
Donghao Ren d****n@g****m 31
Fabion Kauker 4****k 1
Dominik Moritz d****z@g****m 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 11
  • Total pull requests: 21
  • Average time to close issues: 2 days
  • Average time to close pull requests: about 13 hours
  • Total issue authors: 10
  • Total pull request authors: 7
  • Average comments per issue: 1.36
  • Average comments per pull request: 0.19
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 11
  • Pull requests: 21
  • Average time to close issues: 2 days
  • Average time to close pull requests: about 13 hours
  • Issue authors: 10
  • Pull request authors: 7
  • Average comments per issue: 1.36
  • Average comments per pull request: 0.19
  • Merged pull requests: 14
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • xnought (2)
  • do-me (1)
  • pngwn (1)
  • KirillSimonov (1)
  • dataelvisliang (1)
  • fhk (1)
  • arminpasalic (1)
  • jamesanto (1)
  • Aystein (1)
  • ramkumarkb (1)
Pull Request Authors
  • donghaoren (12)
  • domoritz (3)
  • fhk (2)
  • nxlouie (1)
  • arminpasalic (1)
  • davanstrien (1)
  • Anush008 (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 9,883 last-month
    • npm 2,181 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 8
  • Total maintainers: 5
npmjs.org: embedding-atlas

Components for interactive embedding visualization

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2,181 Last month
Rankings
Dependent repos count: 24.7%
Average: 30.2%
Dependent packages count: 35.6%
Last synced: 4 months ago
pypi.org: embedding-atlas

A tool for visualizing embeddings

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 9,883 Last month
Rankings
Dependent packages count: 9.2%
Average: 30.4%
Dependent repos count: 51.7%
Maintainers (2)
Last synced: 4 months ago

Dependencies

.github/workflows/ci.yml actions
  • actions/cache v4 composite
  • actions/checkout v4 composite
  • actions/deploy-pages v4 composite
  • actions/download-artifact v4 composite
  • actions/setup-node v3 composite
  • actions/setup-node v4 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v4 composite
  • actions/upload-pages-artifact v3 composite
  • astral-sh/setup-uv v5 composite
  • pypa/gh-action-pypi-publish release/v1 composite
packages/density-clustering/Cargo.lock cargo
  • anstream 0.6.13
  • anstyle 1.0.6
  • anstyle-parse 0.2.3
  • anstyle-query 1.0.2
  • anstyle-wincon 3.0.2
  • autocfg 1.1.0
  • bumpalo 3.15.4
  • cfg-if 1.0.0
  • clap 4.5.3
  • clap_builder 4.5.2
  • clap_derive 4.5.3
  • clap_lex 0.7.0
  • colorchoice 1.0.0
  • console_error_panic_hook 0.1.7
  • heck 0.5.0
  • itoa 1.0.10
  • js-sys 0.3.69
  • log 0.4.21
  • num-traits 0.2.18
  • once_cell 1.19.0
  • proc-macro2 1.0.79
  • quote 1.0.35
  • ryu 1.0.17
  • scoped-tls 1.0.1
  • serde 1.0.197
  • serde-wasm-bindgen 0.4.5
  • serde_derive 1.0.197
  • serde_json 1.0.114
  • strsim 0.11.0
  • syn 2.0.53
  • unicode-ident 1.0.12
  • utf8parse 0.2.1
  • wasm-bindgen 0.2.92
  • wasm-bindgen-backend 0.2.92
  • wasm-bindgen-futures 0.4.42
  • wasm-bindgen-macro 0.2.92
  • wasm-bindgen-macro-support 0.2.92
  • wasm-bindgen-shared 0.2.92
  • wasm-bindgen-test 0.3.42
  • wasm-bindgen-test-macro 0.3.42
  • web-sys 0.3.69
  • windows-sys 0.52.0
  • windows-targets 0.52.4
  • windows_aarch64_gnullvm 0.52.4
  • windows_aarch64_msvc 0.52.4
  • windows_i686_gnu 0.52.4
  • windows_i686_msvc 0.52.4
  • windows_x86_64_gnu 0.52.4
  • windows_x86_64_gnullvm 0.52.4
  • windows_x86_64_msvc 0.52.4
packages/density-clustering/Cargo.toml cargo
packages/density-clustering/density_clustering/Cargo.lock cargo
  • ahash 0.8.11
  • allocator-api2 0.2.16
  • anstream 0.6.13
  • anstyle 1.0.6
  • anstyle-parse 0.2.3
  • anstyle-query 1.0.2
  • anstyle-wincon 3.0.2
  • approx 0.5.1
  • autocfg 1.1.0
  • byteorder 1.5.0
  • cfg-if 1.0.0
  • clap 4.5.3
  • clap_builder 4.5.2
  • clap_lex 0.7.0
  • colorchoice 1.0.0
  • earcutr 0.4.3
  • either 1.10.0
  • float_next_after 1.0.0
  • geo 0.28.0
  • geo-types 0.7.13
  • geographiclib-rs 0.2.4
  • hash32 0.3.1
  • hashbrown 0.14.3
  • heapless 0.8.0
  • itertools 0.11.0
  • libm 0.2.8
  • log 0.4.21
  • num-traits 0.2.18
  • once_cell 1.19.0
  • proc-macro2 1.0.79
  • quote 1.0.35
  • robust 1.1.0
  • rstar 0.12.0
  • serde 1.0.197
  • serde_derive 1.0.197
  • smallvec 1.13.1
  • spade 2.6.0
  • stable_deref_trait 1.2.0
  • strsim 0.11.0
  • syn 2.0.52
  • unicode-ident 1.0.12
  • utf8parse 0.2.1
  • version_check 0.9.4
  • windows-sys 0.52.0
  • windows-targets 0.52.4
  • windows_aarch64_gnullvm 0.52.4
  • windows_aarch64_msvc 0.52.4
  • windows_i686_gnu 0.52.4
  • windows_i686_msvc 0.52.4
  • windows_x86_64_gnu 0.52.4
  • windows_x86_64_gnullvm 0.52.4
  • windows_x86_64_msvc 0.52.4
  • zerocopy 0.7.32
  • zerocopy-derive 0.7.32
packages/density-clustering/density_clustering/Cargo.toml cargo
packages/density-clustering/density_clustering_bin/Cargo.toml cargo
packages/density-clustering/density_clustering_wasm/Cargo.lock cargo
  • ahash 0.8.11
  • allocator-api2 0.2.16
  • anstream 0.6.13
  • anstyle 1.0.6
  • anstyle-parse 0.2.3
  • anstyle-query 1.0.2
  • anstyle-wincon 3.0.2
  • approx 0.5.1
  • autocfg 1.1.0
  • bumpalo 3.15.4
  • byteorder 1.5.0
  • cfg-if 1.0.0
  • clap 4.5.3
  • clap_builder 4.5.2
  • clap_lex 0.7.0
  • colorchoice 1.0.0
  • console_error_panic_hook 0.1.7
  • earcutr 0.4.3
  • either 1.10.0
  • float_next_after 1.0.0
  • geo 0.28.0
  • geo-types 0.7.13
  • geographiclib-rs 0.2.4
  • hash32 0.3.1
  • hashbrown 0.14.3
  • heapless 0.8.0
  • itertools 0.11.0
  • js-sys 0.3.69
  • libm 0.2.8
  • log 0.4.21
  • num-traits 0.2.18
  • once_cell 1.19.0
  • proc-macro2 1.0.79
  • quote 1.0.35
  • robust 1.1.0
  • rstar 0.12.0
  • scoped-tls 1.0.1
  • serde 1.0.197
  • serde_derive 1.0.197
  • smallvec 1.13.1
  • spade 2.6.0
  • stable_deref_trait 1.2.0
  • strsim 0.11.0
  • syn 2.0.52
  • unicode-ident 1.0.12
  • utf8parse 0.2.1
  • version_check 0.9.4
  • wasm-bindgen 0.2.92
  • wasm-bindgen-backend 0.2.92
  • wasm-bindgen-futures 0.4.42
  • wasm-bindgen-macro 0.2.92
  • wasm-bindgen-macro-support 0.2.92
  • wasm-bindgen-shared 0.2.92
  • wasm-bindgen-test 0.3.42
  • wasm-bindgen-test-macro 0.3.42
  • web-sys 0.3.69
  • windows-sys 0.52.0
  • windows-targets 0.52.4
  • windows_aarch64_gnullvm 0.52.4
  • windows_aarch64_msvc 0.52.4
  • windows_i686_gnu 0.52.4
  • windows_i686_msvc 0.52.4
  • windows_x86_64_gnu 0.52.4
  • windows_x86_64_gnullvm 0.52.4
  • windows_x86_64_msvc 0.52.4
  • zerocopy 0.7.32
  • zerocopy-derive 0.7.32
packages/density-clustering/density_clustering_wasm/Cargo.toml cargo
  • wasm-bindgen-test 0.3.34 development
  • js-sys 0.3.69
  • serde 1.0.197
  • serde-wasm-bindgen 0.4
  • wasm-bindgen 0.2.84
package-lock.json npm
  • 653 dependencies
package.json npm
  • prettier ^3.2.5 development
  • prettier-plugin-svelte ^3.2.3 development
packages/backend/package.json npm
  • @embedding-atlas/viewer * development
  • anywidget ^0.9.13 development
  • streamlit-component-lib ^2.0.0 development
  • vite ^6.1.0 development
packages/component/package.json npm
  • @sveltejs/vite-plugin-svelte ^5.0.0 development
  • @tsconfig/svelte ^5.0.4 development
  • @types/d3-color ^3.1.3 development
  • @uwdata/mosaic-core >=0.15.0 development
  • @uwdata/mosaic-sql >=0.15.0 development
  • @uwdata/vgplot >=0.15.0 development
  • @webgpu/types ^0.1.47 development
  • d3-color ^3.1.0 development
  • fast-kde 0.2.2 development
  • publint ^0.3.0 development
  • quickselect ^3.0.0 development
  • simplify-js ^1.2.4 development
  • svelte ^5.1.9 development
  • typescript ^5.4.2 development
  • vite ^6.1.0 development
  • vite-plugin-dts ^4.0.0 development
  • vite-plugin-wasm ^3.3.0 development
packages/docs/package.json npm
  • gh-pages ^6.1.1 development
  • vitepress ^1.1.4 development
packages/embedding-atlas/package.json npm
  • @embedding-atlas/component * development
  • @embedding-atlas/table * development
  • @embedding-atlas/umap-wasm * development
  • @embedding-atlas/viewer * development
  • tslib ^2.6.2 development
  • typescript ^5.2.2 development
  • vite ^6.1.0 development
  • vite-plugin-dts ^4.3.0 development
packages/examples/package.json npm
  • @sveltejs/vite-plugin-svelte ^5.0.0 development
  • @tailwindcss/postcss ^4.0.11 development
  • @tsconfig/svelte ^5.0.2 development
  • @uwdata/mosaic-core >=0.15.0 development
  • @uwdata/mosaic-spec >=0.15.0 development
  • @uwdata/mosaic-sql >=0.15.0 development
  • @uwdata/vgplot >=0.15.0 development
  • embedding-atlas * development
  • postcss ^8.4.38 development
  • react ^19.0.0 development
  • react-dom ^19.0.0 development
  • svelte ^5.1.9 development
  • svelte-spa-router ^4.0.1 development
  • tailwindcss ^4.0.11 development
  • tslib ^2.6.2 development
  • typescript ^5.2.2 development
  • vite ^6.1.0 development
  • vite-plugin-dts ^4.3.0 development
packages/table/package.json npm
  • @types/lodash ^4.17.15 development
  • lodash ^4.17.21 development
  • publint ^0.3.0 development
  • svelte ^5.1.9 development
  • svelte-check ^4.0.0 development
  • typescript ^5.2.2 development
  • vite ^6.1.0 development
packages/umap-wasm/package.json npm
packages/viewer/package.json npm
  • @embedding-atlas/component * development
  • @embedding-atlas/table * development
  • @embedding-atlas/umap-wasm * development
  • @huggingface/transformers ^3.3.3 development
  • @iconify-json/fluent ^1.2.4 development
  • @iconify-json/svg-spinners ^1.1.2 development
  • @sveltejs/vite-plugin-svelte ^5.0.0 development
  • @tailwindcss/forms ^0.5.10 development
  • @tailwindcss/postcss ^4.0.11 development
  • @tsconfig/svelte ^5.0.2 development
  • @types/d3-array ^3.2.1 development
  • @types/d3-color ^3.1.3 development
  • @types/d3-format ^3.0.4 development
  • @types/d3-scale ^4.0.8 development
  • @types/d3-scale-chromatic ^3.0.3 development
  • @types/mark.js ^8.11.12 development
  • d3-array ^3.2.4 development
  • d3-color ^3.1.0 development
  • d3-format ^3.1.0 development
  • d3-scale ^4.0.2 development
  • d3-scale-chromatic ^3.1.0 development
  • flexsearch ^0.8.161 development
  • mark.js ^8.11.1 development
  • marked ^15.0.2 development
  • nanoid ^5.0.9 development
  • postcss ^8.4.38 development
  • prism-code-editor ^3.4.0 development
  • publint ^0.3.0 development
  • svelte ^5.1.9 development
  • svelte-spa-router ^4.0.1 development
  • tailwindcss ^4.0.11 development
  • tslib ^2.6.2 development
  • typescript ^5.2.2 development
  • unplugin-icons ^22.0.0 development
  • vite ^6.1.0 development
  • vite-plugin-dts ^4.3.0 development
  • vite-plugin-wasm ^3.3.0 development
packages/backend/pyproject.toml pypi
  • accelerate >= 1.5.0
  • click >= 7.0.0
  • duckdb >= 1.1.0
  • fastapi >= 0.115.0
  • fastparquet >= 2024.0.0
  • inquirer >= 3.0.0
  • llvmlite >= 0.43.0
  • pandas >= 2.2.0
  • platformdirs >= 4.3.0
  • pyarrow >= 18.0.0
  • sentence-transformers >= 3.3.0
  • tqdm >= 4.60.0
  • umap-learn >= 0.5.0
  • uvicorn >= 0.32.0
  • uvloop >= 0.21.0
packages/backend/uv.lock pypi
  • 187 dependencies