chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,354 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"
|
||||
/>
|
||||
<title>Perspective</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Interactive analytics and data visualization component for large and streaming datasets."
|
||||
/>
|
||||
<link rel="icon" href="https://openjsf.org/favicon.ico" />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="page-container header-shift" id="page">
|
||||
<nav class="navbar">
|
||||
<div class="navbar__inner">
|
||||
<a href="/" class="navbar__logo"><img alt="Perspective" src="/svg/perspective-logo-dark.svg"/></a>
|
||||
<ul class="navbar__links">
|
||||
<li><a href="/guide/index.html">Docs</a></li>
|
||||
<li><a href="/examples.html">Examples</a></li>
|
||||
<li>
|
||||
<a
|
||||
href="https://github.com/perspective-dev/perspective"
|
||||
>GitHub</a
|
||||
>
|
||||
</li>
|
||||
<li id="theme-toggle"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main>
|
||||
<header class="hero-banner">
|
||||
<div class="hero-banner__buttons" id="demo-container"></div>
|
||||
</header>
|
||||
|
||||
<section class="features">
|
||||
<div class="features__container">
|
||||
<hr />
|
||||
<br /><br /><br />
|
||||
<div>
|
||||
<h2>What is Perspective?</h2>
|
||||
<p>
|
||||
Perspective is an <i>interactive</i> analytics
|
||||
and data visualization component, which is
|
||||
especially well-suited for <i>large</i> and/or
|
||||
<i>streaming</i> datasets. Use it to create
|
||||
user-configurable reports, dashboards, notebooks
|
||||
and applications, then deploy stand-alone in the
|
||||
browser, or in concert with Python and/or
|
||||
<a
|
||||
href="https://jupyterlab.readthedocs.io/en/stable/"
|
||||
>Jupyterlab</a
|
||||
>.
|
||||
</p>
|
||||
<br />
|
||||
<h3>Features</h3>
|
||||
<br />
|
||||
<div class="feature-item">
|
||||
<svg
|
||||
class="feature-item__icon"
|
||||
width="53"
|
||||
height="67"
|
||||
viewBox="0 0 53 67"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M11.6482 1.56063L1.6114 11.2435C1.22069 11.6204 1 12.14 1 12.6829V64C1 65.1046 1.89543 66 3 66H50C51.1046 66 52 65.1046 52 64V50.4471C52 49.6719 51.3716 49.0435 50.5963 49.0435C49.8211 49.0435 49.1927 48.415 49.1927 47.6398V39.1428C49.1927 38.3676 49.8211 37.7391 50.5963 37.7391C51.3716 37.7391 52 37.1107 52 36.3355V3C52 1.89543 51.1046 1 50 1H13.0368C12.5188 1 12.021 1.20098 11.6482 1.56063Z"
|
||||
/>
|
||||
<path
|
||||
d="M29.2391 29H20.5652L16 43.431H24.2174L21.4783 56L37 38.7759H26.0435L29.2391 29Z"
|
||||
/>
|
||||
<path d="M42 8H45V19H42V8Z" />
|
||||
<path d="M36 8H39V19H36V8Z" />
|
||||
<path d="M31 8H34V19H31V8Z" />
|
||||
<path d="M25 8H28V19H25V8Z" />
|
||||
<path d="M19 8H22V19H19V8Z" />
|
||||
<path d="M14 8H17V19H14V8Z" />
|
||||
<path d="M8 14H11V22H8V14Z" />
|
||||
</svg>
|
||||
<div class="feature-item__text">
|
||||
<p>
|
||||
A fast, memory efficient streaming query
|
||||
engine, written in C++ and compiled for
|
||||
both
|
||||
<a href="https://webassembly.org/"
|
||||
>WebAssembly</a
|
||||
>
|
||||
and
|
||||
<a href="https://www.python.org/"
|
||||
>Python</a
|
||||
>, with read/write/streaming for
|
||||
<a href="https://arrow.apache.org/"
|
||||
>Apache Arrow</a
|
||||
>, and a high-performance columnar
|
||||
expression language based on
|
||||
<a
|
||||
href="https://github.com/ArashPartow/exprtk"
|
||||
>ExprTK</a
|
||||
>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-item">
|
||||
<svg
|
||||
class="feature-item__icon"
|
||||
width="49"
|
||||
height="71"
|
||||
viewBox="0 0 49 71"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
d="M1 23.5001L24.3345 6.16554L47.669 23.5001L24.3345 40.8346L1 23.5001Z"
|
||||
/>
|
||||
<path
|
||||
d="M9 41.5L1 47.3345L24.3345 64.669L47.669 47.3345L39.6518 41.3787"
|
||||
/>
|
||||
<path
|
||||
d="M9 29.5001L1 35.3345L24.3345 52.6691L47.669 35.3345L39.6518 29.3788"
|
||||
/>
|
||||
</svg>
|
||||
<div class="feature-item__text">
|
||||
<p>
|
||||
A framework-agnostic User Interface
|
||||
packaged as a
|
||||
<a
|
||||
href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements"
|
||||
>Custom Element</a
|
||||
>, powered either in-browser via
|
||||
WebAssembly or virtually via WebSocket
|
||||
server (Python/Node).
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="feature-item">
|
||||
<svg
|
||||
class="feature-item__icon"
|
||||
width="48"
|
||||
height="59"
|
||||
viewBox="0 0 48 59"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<rect
|
||||
x="2"
|
||||
y="1"
|
||||
width="45"
|
||||
height="57"
|
||||
rx="2"
|
||||
/>
|
||||
<circle
|
||||
cx="10"
|
||||
cy="11"
|
||||
r="2"
|
||||
fill="#666"
|
||||
/>
|
||||
<circle
|
||||
cx="10"
|
||||
cy="30"
|
||||
r="2"
|
||||
fill="#666"
|
||||
/>
|
||||
<circle
|
||||
cx="10"
|
||||
cy="49"
|
||||
r="2"
|
||||
fill="#666"
|
||||
/>
|
||||
<path d="M10 11H0" />
|
||||
<path d="M39 10H17" />
|
||||
<path d="M39 14H17" />
|
||||
<path d="M39 18H17" />
|
||||
<path d="M39 22H17" />
|
||||
<path d="M39 26H17" />
|
||||
<path d="M39 30H17" />
|
||||
<path d="M39 34H17" />
|
||||
<path d="M39 38H17" />
|
||||
<path d="M39 42H17" />
|
||||
<path d="M39 46H17" />
|
||||
<path d="M39 50H17" />
|
||||
<path d="M10 30H0" />
|
||||
<path d="M10 49H0" />
|
||||
</svg>
|
||||
<div class="feature-item__text">
|
||||
<p>
|
||||
A
|
||||
<a href="https://jupyter.org/"
|
||||
>JupyterLab</a
|
||||
>
|
||||
widget and Python client library, for
|
||||
interactive data analysis in a notebook,
|
||||
as well as <i>scalable</i> production
|
||||
<a
|
||||
href="https://github.com/voila-dashboards/voila"
|
||||
>Voila</a
|
||||
>
|
||||
applications.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<br /><br /><br />
|
||||
<div>
|
||||
<h2>JavaScript</h2>
|
||||
<p>
|
||||
Interactive dashboards built on Perspective.js
|
||||
<a
|
||||
href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements"
|
||||
>Custom Elements</a
|
||||
>
|
||||
are easy to integrate into any web application
|
||||
framework.
|
||||
</p>
|
||||
<p>
|
||||
Using Perspective's simple query language,
|
||||
elements like
|
||||
<code><perspective-viewer></code> can be
|
||||
<i>symmetrically</i> configured via API or User
|
||||
interaction. Web Applications built with
|
||||
Perspective Custom Elements can be re-hydrated
|
||||
from their serialized state, driven from external
|
||||
Events, or persisted to any store. Workspaces
|
||||
can mix virtual, server-side Python data with
|
||||
in-browser client data seamlessly, and
|
||||
independent data Views can be cross-filtered,
|
||||
duplicated, exported, stacked and saved.
|
||||
</p>
|
||||
<p>
|
||||
To achieve Desktop-like performance in the
|
||||
Browser, Perspective.js relies on
|
||||
<a href="https://webassembly.org/"
|
||||
>WebAssembly</a
|
||||
>
|
||||
for excellent <i>query calculation</i> time, and
|
||||
<a href="https://arrow.apache.org/"
|
||||
>Apache Arrow</a
|
||||
>
|
||||
for its conservative <i>memory footprint</i> and
|
||||
efficient <i>data serialization</i>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<hr />
|
||||
<br /><br /><br />
|
||||
<div>
|
||||
<h2>Python</h2>
|
||||
<p>
|
||||
<code>perspective-python</code>, built on the
|
||||
same C++ data engine used by the
|
||||
<a
|
||||
href="https://perspective-dev.github.io/docs/md/js.html"
|
||||
>WebAssembly version</a
|
||||
>, implements the Perspective API directly in
|
||||
Python, either as a virtualized server for
|
||||
Production, or as an embedded JupyterLab Widget
|
||||
for Research.
|
||||
</p>
|
||||
<p>
|
||||
For Application Developers, virtualized
|
||||
<code><perspective-viewer></code> will only
|
||||
consume the data necessary to render the current
|
||||
screen, enabling <i>ludicrous size</i> datasets
|
||||
with nearly instant load. Or - efficiently stream
|
||||
the entire dataset to the WebAssembly runtime via
|
||||
Apache Arrow, and give your server a break!
|
||||
</p>
|
||||
<p>
|
||||
For Researchers and Data Scientists,
|
||||
<code>PerspectiveWidget</code> is available as a
|
||||
<a
|
||||
href="https://jupyterlab.readthedocs.io/en/stable/"
|
||||
>Jupyter/JupyterLab</a
|
||||
>
|
||||
widget, allowing interactive
|
||||
<a href="https://pandas.pydata.org/">Pandas</a>
|
||||
and
|
||||
<a href="https://arrow.apache.org/"
|
||||
>Apache Arrow</a
|
||||
>
|
||||
visualization within a notebook.
|
||||
</p>
|
||||
</div>
|
||||
<br />
|
||||
<hr />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="gallery-section">
|
||||
<div class="gallery" id="gallery"></div>
|
||||
<div style="max-width: 638px; margin: 0 auto">
|
||||
<hr />
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner">
|
||||
<img
|
||||
class="footer__logo"
|
||||
id="footer-logo"
|
||||
alt="OpenJS Foundation Logo"
|
||||
src="/img/openjs_foundation-logo-horizontal-white.png"
|
||||
/>
|
||||
<div class="footer__copyright">
|
||||
<br /><br />Copyright © 2017 OpenJS Foundation and
|
||||
Perspective contributors.<br /><br />
|
||||
All rights reserved. The OpenJS Foundation has registered
|
||||
trademarks and uses trademarks. For a list of trademarks
|
||||
of the OpenJS Foundation, please see our Trademark Policy
|
||||
and Trademark List. Trademarks and logos not indicated on
|
||||
the list of OpenJS Foundation trademarks are
|
||||
trademarks™ or registered® trademarks of their
|
||||
respective holders. Use of them does not imply any
|
||||
affiliation with or endorsement by them.<br /><br />
|
||||
<a href="https://openjsf.org">The OpenJS Foundation</a>
|
||||
|
|
||||
<a href="https://terms-of-use.openjsf.org"
|
||||
>Terms of Use</a
|
||||
>
|
||||
|
|
||||
<a href="https://privacy-policy.openjsf.org"
|
||||
>Privacy Policy</a
|
||||
>
|
||||
| <a href="https://bylaws.openjsf.org">Bylaws</a> |
|
||||
<a href="https://code-of-conduct.openjsf.org"
|
||||
>Code of Conduct</a
|
||||
>
|
||||
|
|
||||
<a href="https://trademark-policy.openjsf.org"
|
||||
>Trademark Policy</a
|
||||
>
|
||||
|
|
||||
<a href="https://trademark-list.openjsf.org"
|
||||
>Trademark List</a
|
||||
>
|
||||
|
|
||||
<a href="https://www.linuxfoundation.org/cookies"
|
||||
>Cookie Policy</a
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
<script type="module" src="index.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user