Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
✓Committers with academic emails
5 of 11 committers (45.5%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Repository
Make Vega charts of large datasets
Basic Info
- Host: GitHub
- Owner: vega
- License: bsd-3-clause
- Language: TypeScript
- Default Branch: master
- Homepage: https://vega.github.io/vega-plus/demo-duckdb
- Size: 150 MB
Statistics
- Stars: 44
- Watchers: 6
- Forks: 2
- Open Issues: 4
- Releases: 0
Metadata Files
README.md
VegaPlus
A demo of how to run Vega by offloading computational-intensive operations to a separate database management system. We have written a demo paper about the research behind. Please cite us if you use Vega Plus in a publication.
bib
@article{yang2022vegaplus,
Author = {Junran Yang and Hyekang Kevin Joo and Sai S. Yerramreddy and Siyao Li and Dominik Moritz and Leilani Battle},
Title = {Demonstration of VegaPlus: Optimizing Declarative Visualization Languages},
Year = {2022},
Eprint = {arXiv:2201.06742},
Doi = {10.1145/3514221.3520168},
}
Demos
- 3M flights in the browser with DuckDB-WASM: https://vega.github.io/vega-plus/demo-duckdb
- 3M flights in the browser with SQL.JS: https://vega.github.io/vega-plus/demo-sqlite
Workspace Packages
We used yarn workspaces to structure this repository.
vega-plus-core
The primary VegaPlus library component to be used in your application. Install with yarn add vega-plus-core.
demo
An interactive web demo of VegaPlus components with examples of updating data and chart variables.
server
The middleware server for using the VegaPlus with a DBMS backend (we now support PostgreSQL and DuckDB). Install wih yarn add vega-plus-server.
transform-db
The customized Vega transform used by VegaPlus that sends queries to, and receives results from a DBMS. Install wih yarn add vega-transform-db.
Developers
Pre-Requisite
- Install and start PostgreSQL.
- Create a PostgreSQL database named
vega_plus, e.g.,createdb vega_plus. You don't need to do anything if you want to use DuckDB.
Installation
- Run
git clone https://github.com/vega/vega-plus.git. - Run
yarn --frozen-lockfileandyarn buildto install VegaPlus library dependencies. - For using prepopulated database in demo, look at additional notes.
Running Middleware Server
- Run
yarn build:serverto install VegaPlus server dependencies. - Run
yarn start:server_pgto start the application server with postgres, for DuckDB runyarn start:server_duck - All the config information for the databases and server (including user, password and ports to be used) is currently stored in the
./packages/server/duck_db.js/./packages/server/postgres_db.jsfiles and can be customized.
Running the Web Demo
- Make sure you have the middleware server running.
- In another terminal window, run
cd /path/to/dev/repos/vega-plus. - Run
yarn build:appto build dependencies for the demo/application UI. - Run
yarn start:appto start the web server. - Open a browser tab to localhost:1234.
- Upload the cars dataset from
./sample_data/data/cars.jsonto the data input or click on theUpload Demo Databutton. - After uploading a dataset to database, upload a cars vega spec from
./sample_data/data/specs/specs/to the specs inputor click on theShow me a Demo Specbutton and see the visualization.
Running Unit Tests
- Again make sure you have the middleware server running.
- In another terminal window, run
cd /path/to/dev/repos/vega-plus. - The Unit Tests assume a prepopulated database, either do so by uploading data using the web demo or use the provided database (look at additional notes).
- For running the unit tests:
- For PostgreSQL,
yarn test transform_pg - For DuckDB,
yarn test transform_duckdb
- For PostgreSQL,
Additional Notes
- Prepopulated Database, We have provided prepopulated databases and scripts for PostgreSQL and DuckDB in
./packages/server/database- For PostgreSQL, use a command like
psql dbname < infile. For example,psql postgresql://postgres@localhost/scalable_vega < ./packages/server/database/scalable_vega.sql - For DuckDB you can run
yarn start:duckdb-samplewhich will populate a duckdb database file with 5 tables. You can customize the name of the db file being used by making changes in./packages/server/server.jsand./packages/server/database/duckdb_insertion.js
- For PostgreSQL, use a command like
- If you face
Cannot find name 'expect'type error while running tests- Run
yarn add @types/jest -D
- Run
Owner
- Name: Vega
- Login: vega
- Kind: organization
- Website: https://vega.github.io
- Twitter: vega_vis
- Repositories: 105
- Profile: https://github.com/vega
Data Visualization Languages & Tools
GitHub Events
Total
- Watch event: 5
Last Year
- Watch event: 5
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 406
- Total Committers: 11
- Avg Commits per committer: 36.909
- Development Distribution Score (DDS): 0.66
Top Committers
| Name | Commits | |
|---|---|---|
| Sai Yerramreddy | s****7@g****m | 138 |
| Andrew Fichman | a****n@g****m | 110 |
| Junran | j****g@t****u | 49 |
| Dominik Moritz | d****z@g****m | 38 |
| Sai Yerramreddy | s****r@u****u | 30 |
| Leilani Battle | l****t@.****u | 18 |
| JunranY | 3****Y@u****m | 13 |
| JunranY | j****n@c****u | 5 |
| Junran Yang | j****n@c****u | 3 |
| Kevin Hyekang Joo | j****j@g****m | 1 |
| Leilani Battle | l****t@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 69
- Total pull requests: 57
- Average time to close issues: about 1 month
- Average time to close pull requests: 1 day
- Total issue authors: 4
- Total pull request authors: 3
- Average comments per issue: 0.51
- Average comments per pull request: 0.39
- Merged pull requests: 52
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- domoritz (27)
- SaiArrow (8)
- leibatt (6)
- joos2010kj (1)
Pull Request Authors
- JunranY (17)
- SaiArrow (12)
- domoritz (5)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- npm 7 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 4
- Total maintainers: 2
npmjs.org: vega-plus
Vega-plus extends the Vega dataflow to a client-server architecture to utilize the scalability advantage of DBMSs, we automatically translate Vega transform operators to SQL queries. To offload intensive calculations to the DBMS, combine vega-plus with on
- License: BSD-3-Clause
-
Latest release: 0.0.4
published almost 4 years ago
Rankings
Dependencies
- @types/jest ^27.4.1 development
- express ^4.17.3 development
- gh-pages ^3.2.3 development
- jest ^27.5.1 development
- node-fetch ^2.6.7 development
- parcel-bundler ^1.12.3 development
- ts-jest ^27.1.3 development
- tsc-watch ^4.6.2 development
- typescript 4.6.2 development
- webpack ^5.70.0 development
- @hpcc-js/wasm ^1.13.0
- @observablehq/graphviz 0.2.1
- @types/node ^17.0.21
- body-parser ^1.19.2
- fs ^0.0.1-security
- vega ^5.22.0
- vega-encode ^4.9.0
- vega-transform-db ^1.0.10
- vega-transforms ^4.10.0
- web-worker ^1.2.0
- actions/checkout v2 composite
- actions/setup-node v2 composite
- postgres * docker