Skip to main content

Python Versions License: AGPL v3 Binder Follow on Twitter

Panel VegaFusion

WORK IN PROGRESS. PROOF OF CONCEPT WORKING.

The Panel VegaFusion pane allows you to create interactive big data apps based on the Altair plotting library and the Vega visualization specification.

VegaFusion provides serverside acceleration for the Vega visualization grammar.

Panel makes it easy to create powerful data apps using the tools you know and ❤️. Member of the HoloViz ecosystem.

Reference Example

Install

pip install panel-vegafusion

Example

import altair as alt
import panel as pn
from panel_vegafusion import VegaFusion
from panel_vegafusion.utils import get_plot, ALTAIR_BLUE, get_theme

pn.extension(template="fast")

theme=get_theme()
alt.themes.enable(theme)

plot=get_plot() # Can be replaced any Altair plot or Vega Specification

component = VegaFusion(plot, height=800).servable()

pn.state.template.param.update(
    site="Panel VegaFusion", title="Interactive BIG DATA apps with CROSSFILTERING for Altair and Vega",
    accent_base_color=ALTAIR_BLUE, header_background=ALTAIR_BLUE,
)

You can serve the application via panel serve 'name_of_file.py or panel serve 'name_of_notebook.ipynb.

Todo

This needs to be done before alpha release

  • Fix all errors in invoke test.all
  • Make python package installable (and release it)
  • Implement way to get rid of the user having to serve the assets manually via --static dist=./src-js/dist.
  • [] Get things working on Binder

License - AGPLv3 - IMPORTANT

This Panel Vegafusion project is AGPLv3 Licensed because VegaFusion is AGPLv3 licensed and requires the author to provide this application's source code upon request.

SO PLEASE INVESTIGATE THE LEGAL ASPECTS ON YOUR OWN. YOU WILL BE USING THIS PROJECT AT YOUR OWN RISK ANYWAYS! 👍

Legal Statement

References

Issues Identified

Develop

Install for development

git clone https://github.com/MarcSkovMadsen/panel-vegafusion.git
conda create -n panel_vegafusion -c conda-forge python=3.9 nodejs
conda activate panel_vegafusion
pip install -e .[all]
cd src-js
npm install --save-dev webpack-cli
npm install
cd ..

Build

Javascript package

invoke build.js

Python package

invoke build.package

Test

invoke test.all

Serve Dev App

For now you can serve an example with hot reload via

panel serve 'tests/apps/test_dev_app.py' --autoreload --show

Panel VegaFusion Test App

Serve Example Apps

For now you can serve an example with hot reload via

panel serve 'examples/*.py' --autoreload --show

Reference

You can also find inspiration in the original Jupyter VegaFusion reference example via

jupyter lab tests/reference_example.ipynb

Release Python Package

Before releasing please make sures you have

  • updated all version numbers
  • build all packages
  • run all tests with succes
python -m twine upload dist/*<VERSION>*

to deploy the package 📦.

If you want to upload to testpypi first you can do so by adding --repository testpypi.

Metadata

Release files for panel-vegafusion 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for panel-vegafusion 0.0.3
File Size Uploaded Provenance Actions
panel-vegafusion-0.0.3.tar.gz 1.5 MB Without provenance Details for panel-vegafusion-0.0.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for panel-vegafusion 0.0.3
File Interpreter ABI Platform Actions
panel_vegafusion-0.0.3-py3-none-any.whl Python 3 none any Details for panel_vegafusion-0.0.3-py3-none-any.whl

Total release size: 2.9 MB

Release files / panel-vegafusion-0.0.3.tar.gz

Download URL panel-vegafusion-0.0.3.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
ef9dfe1d1aff324d82c74cce7c3e9b835be40401f3750060d315e777fc2a3750
BLAKE2b-256 checksum
How to use checksums
e1bc69ac01d222397884aa1dc253b25e7e60fa3dd35a72b68ad1e43227cf0a2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

Release files / panel_vegafusion-0.0.3-py3-none-any.whl

Download URL panel_vegafusion-0.0.3-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8499156e21aaed0eaaa3855e3d96e82687760e550e3733dd074fd86c82dfcdfb
BLAKE2b-256 checksum
How to use checksums
3748171cb586d3063d19b794fbfedace8c3878dc948738b73d2b34fa6e9c4024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

Security for panel-vegafusion 0.0.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page