https://github.com/alexeyraspopov/vepr
🚧 Visualization protocol for complex and sizable data visualizations
https://github.com/alexeyraspopov/vepr
data-visualization zero-dependency
Last synced: about 1 month ago
JSON representation
🚧 Visualization protocol for complex and sizable data visualizations
- Host: GitHub
- URL: https://github.com/alexeyraspopov/vepr
- Owner: alexeyraspopov
- License: isc
- Created: 2022-07-13T01:30:31.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-16T04:48:35.000Z (about 1 year ago)
- Last Synced: 2025-03-18T03:12:32.114Z (about 2 months ago)
- Topics: data-visualization, zero-dependency
- Language: JavaScript
- Homepage: https://alexeyraspopov.github.io/vepr
- Size: 280 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
🐗 Vepr
Vepr is a JavaScript library for exploratory data visualization.
Vepr is all-in-one toolkit for building exploratory data visualization
experience. Vepr implements protocol that allows declaring complex data
visualizations in a scheme with small footprint and being able to transfer the
visualization to different environment (e.g. server → browser, web worker → main
thread).## Installing
Vepr can be installed using NPM
```sh
npm install vepr
```And used as a node module
```js
import { render, blueprint, dot } from "vepr";
```Or accessed via CDNs like unpkg.com right in the browser environment
```html
import { render, blueprint, dot } from "https://unpkg.com/[email protected]";
```
Out of the box Vepr includes typing declarations for TypeScript (or TS Language
Server, thus can be leveraged in JS-only environment as well).## Prior Art
Vepr is a research project that explores multidisciplinary nature of visual data
exploration. We explore how the tech can be put to the context to gain maximum
performance and fluid interactivity. Vepr is intended to be dependency-free to
avoid accidental abstraction complexity. Derived code is annotated with sources
wherever possible.As a research project, Vepr is not intended to fully replace existing and
established solutions. Vepr is inspired by findings and experience of many
developers involved in creating these tools.**[Vega](https://github.com/vega/vega)** introduces declarative format for
interactive visualizations. Being a plain JSON schema, the visualization
declaration can be generated in variety of environments and then visualized in
the browser. Many different data viz libraries are built on top of Vega grammars
and are used a lot in Python notebooks. In comparison, Vepr implements a format
that does not expose underlying data so all data-related computations
(aggregations, filtering, sorting) can be done outside of browser environment
(for performance purpose) thus significantly reducing the declaration size while
keeping the resulting visualization interactive and adaptive.**[Plot](https://github.com/observablehq/plot)** is an exploratory visualization
library optimized for incremental progress. It is very ergonomic and has great
defaults that provide faster feedback cycle. Resulting visualization can be also
well describe by the code generating it, which is used efficiently in notebook
environment. In comparison, Vepr is created with software engineers in mind that
don't necessarily know the nature of the data they work with (e.g. when creating
a universal dashboard for customers). Vepr may not be as expressive or may
require explicit definitions for things that would otherwise be inferred.While Vepr is in active development phase, please consider using stable and well
known solutions.