{"id":22206564,"url":"https://github.com/alexeyraspopov/vepr","last_synced_at":"2025-07-04T09:06:30.479Z","repository":{"id":66008524,"uuid":"513342471","full_name":"alexeyraspopov/vepr","owner":"alexeyraspopov","description":"🚧 Visualization protocol for complex and sizable data visualizations","archived":false,"fork":false,"pushed_at":"2024-04-16T04:48:35.000Z","size":287,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-04T09:06:27.578Z","etag":null,"topics":["data-visualization","zero-dependency"],"latest_commit_sha":null,"homepage":"https://alexeyraspopov.github.io/vepr","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexeyraspopov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-13T01:30:31.000Z","updated_at":"2025-04-01T18:09:08.000Z","dependencies_parsed_at":"2023-12-12T18:43:04.298Z","dependency_job_id":"afded8c6-6f7b-46df-8e7e-ec78c78fbf80","html_url":"https://github.com/alexeyraspopov/vepr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alexeyraspopov/vepr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyraspopov%2Fvepr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyraspopov%2Fvepr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyraspopov%2Fvepr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyraspopov%2Fvepr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexeyraspopov","download_url":"https://codeload.github.com/alexeyraspopov/vepr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexeyraspopov%2Fvepr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263480867,"owners_count":23473164,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-visualization","zero-dependency"],"created_at":"2024-12-02T18:15:24.932Z","updated_at":"2025-07-04T09:06:30.433Z","avatar_url":"https://github.com/alexeyraspopov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1\u003e🐗 Vepr\u003c/h1\u003e\n\u003cp\u003eVepr is a JavaScript library for exploratory data visualization.\u003c/p\u003e\n\u003c/div\u003e\n\nVepr is all-in-one toolkit for building exploratory data visualization\nexperience. Vepr implements protocol that allows declaring complex data\nvisualizations in a scheme with small footprint and being able to transfer the\nvisualization to different environment (e.g. server → browser, web worker → main\nthread).\n\n## Installing\n\nVepr can be installed using NPM\n\n```sh\nnpm install vepr\n```\n\nAnd used as a node module\n\n```js\nimport { render, blueprint, dot } from \"vepr\";\n```\n\nOr accessed via CDNs like unpkg.com right in the browser environment\n\n```html\n\u003cscript type=\"module\"\u003e\n  import { render, blueprint, dot } from \"https://unpkg.com/vepr@0.0.0\";\n\u003c/script\u003e\n```\n\nOut of the box Vepr includes typing declarations for TypeScript (or TS Language\nServer, thus can be leveraged in JS-only environment as well).\n\n## Prior Art\n\nVepr is a research project that explores multidisciplinary nature of visual data\nexploration. We explore how the tech can be put to the context to gain maximum\nperformance and fluid interactivity. Vepr is intended to be dependency-free to\navoid accidental abstraction complexity. Derived code is annotated with sources\nwherever possible.\n\nAs a research project, Vepr is not intended to fully replace existing and\nestablished solutions. Vepr is inspired by findings and experience of many\ndevelopers involved in creating these tools.\n\n**[Vega](https://github.com/vega/vega)** introduces declarative format for\ninteractive visualizations. Being a plain JSON schema, the visualization\ndeclaration can be generated in variety of environments and then visualized in\nthe browser. Many different data viz libraries are built on top of Vega grammars\nand are used a lot in Python notebooks. In comparison, Vepr implements a format\nthat does not expose underlying data so all data-related computations\n(aggregations, filtering, sorting) can be done outside of browser environment\n(for performance purpose) thus significantly reducing the declaration size while\nkeeping the resulting visualization interactive and adaptive.\n\n**[Plot](https://github.com/observablehq/plot)** is an exploratory visualization\nlibrary optimized for incremental progress. It is very ergonomic and has great\ndefaults that provide faster feedback cycle. Resulting visualization can be also\nwell describe by the code generating it, which is used efficiently in notebook\nenvironment. In comparison, Vepr is created with software engineers in mind that\ndon't necessarily know the nature of the data they work with (e.g. when creating\na universal dashboard for customers). Vepr may not be as expressive or may\nrequire explicit definitions for things that would otherwise be inferred.\n\nWhile Vepr is in active development phase, please consider using stable and well\nknown solutions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexeyraspopov%2Fvepr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexeyraspopov%2Fvepr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexeyraspopov%2Fvepr/lists"}