-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
55 lines (50 loc) · 9.35 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!doctype html>
<html lang="en">
<head>
<title>CupidDB</title>
<meta name="description" content="CupidDB is an in-memory columnar database." />
<meta name="keywords" content="CupidDB, columnar database, in-memory database, Rust, DataFrame caching.">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="google-site-verification" content="-ycFjwpP9kc1f9KazMfqzkTmprj7N51on1vMB2f3I6M" />
<link rel="icon" href="./favicon.ico" />
<meta charset="utf-8" />
<link href="./_app/immutable/assets/0.CmVz6SDl.css" rel="stylesheet">
<link href="./_app/immutable/assets/3.DljngmFk.css" rel="stylesheet">
<link rel="modulepreload" href="./_app/immutable/entry/start.Bfrgs7V8.js">
<link rel="modulepreload" href="./_app/immutable/chunks/entry.Btz3Xph3.js">
<link rel="modulepreload" href="./_app/immutable/chunks/scheduler.CQlsE29-.js">
<link rel="modulepreload" href="./_app/immutable/chunks/index.Bx3dTvZi.js">
<link rel="modulepreload" href="./_app/immutable/entry/app.CYprpbL5.js">
<link rel="modulepreload" href="./_app/immutable/chunks/index.xSuZ9O7b.js">
<link rel="modulepreload" href="./_app/immutable/nodes/0.BELsu5MA.js">
<link rel="modulepreload" href="./_app/immutable/nodes/3.CJBoqu5x.js">
<link rel="modulepreload" href="./_app/immutable/chunks/each.D6YF6ztN.js">
</head>
<body data-sveltekit-preload-data="hover">
<div style="display: contents"> <div data-theme="light"><div class="navbar sticky top-0 z-10 bg-base-200 py-1 px-4" data-svelte-h="svelte-qjp8vc"><div class="flex-1"><a class="btn btn-ghost text-2xl playwrite-font" href="/">CupidDB</a></div> <div class="flex-none"><ul class="menu menu-horizontal px-1"><li><a href="/docs">Docs</a></li> <li><a href="/blog">Blog</a></li> <li><a href="https://github.com/cupiddb/cupiddb" target="_blank"><img class="h-5" src="data:image/png;base64,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" alt="github"></a></li></ul></div></div> <main><div class="hero py-14 md:py-24 svelte-zgm6lg"><div class="hero-content text-center"><div class="w-44 md:w-56" data-svelte-h="svelte-1sxxutl"><img class="brand-image svelte-zgm6lg" src="/_app/immutable/assets/cupiddb-logo-text.DH0wPHw3.png" alt="CupidDB"></div> </div> </div> <div class="bg-rose-200 py-12 px-4 md:py-24" data-svelte-h="svelte-vn9060"><div class="max-w-screen-md mx-auto"><h2 class="text-4xl mb-4 playwrite-font">Meet CupidDB</h2> <p>CupidDB is an in-memory columnar database. It not only stores data in columnar format,
but also communicates with clients using columnar protocol.
This makes CupidDB serialize and deserialize at an unparalleled speed and efficiency.
CupidDB is ideal for caching Pandas DataFrame and other Apache Arrow compatible datasets.</p></div></div> <div class="container mx-auto my-6 py-4 md:py-8 px-0 md:px-4 md:mt-12 md:mb-4"><div class="grid grid-cols-1 md:grid-cols-3 gap-4"><div class="grid grid-cols-4 md:grid-cols-1 grid-rows-1 md:grid-rows-3"><div><img class="w-28 mx-auto mt-4 mb-2 md:mt-2" src="/_app/immutable/assets/clock.CvpDndle.jpg" alt="Fast"></div> <div class="col-span-3 md:col-span-1 row-span-1 md:row-span-2 text-sm md:text-base px-2 md:px-0"><h3 class="text-4xl mb-3 playwrite-font md:text-center">Fast</h3> Designed from the ground up to be faster than all other databases at caching tabular data, CupidDB sends data over the network in a way that is efficient to serialize and deserialize.</div> </div><div class="grid grid-cols-4 md:grid-cols-1 grid-rows-1 md:grid-rows-3"><div><img class="w-28 mx-auto mt-4 mb-2 md:mt-2" src="/_app/immutable/assets/cube.GaTT8YI4.jpg" alt="Simple"></div> <div class="col-span-3 md:col-span-1 row-span-1 md:row-span-2 text-sm md:text-base px-2 md:px-0"><h3 class="text-4xl mb-3 playwrite-font md:text-center">Simple</h3> Easy to get started with a simple Docker container. Simple client API to interact with the server. It just works out of the box.</div> </div><div class="grid grid-cols-4 md:grid-cols-1 grid-rows-1 md:grid-rows-3"><div><img class="w-28 mx-auto mt-4 mb-2 md:mt-2" src="/_app/immutable/assets/open-source.mVOfbLBI.jpg" alt="Free"></div> <div class="col-span-3 md:col-span-1 row-span-1 md:row-span-2 text-sm md:text-base px-2 md:px-0"><h3 class="text-4xl mb-3 playwrite-font md:text-center">Free</h3> CupidDB is open-source under the Apache License 2.0. We are committed to keeping it free for the community.</div> </div></div></div> <div class="container mx-auto my-0 py-0 px-0 md:px-4"><div class="grid grid-cols-1 gap-4"><div class="bg-rose-200 py-8 px-3 md:p-6 md:rounded-2xl"><h2 class="text-4xl mb-4 playwrite-font" id="getting-started" data-svelte-h="svelte-15px0ip">Getting Started</h2> <h3 class="text-2xl mb-4" data-svelte-h="svelte-14axyfd">Run CupidDB</h3> <div class="mockup-code bg-gray-800 text-white" data-svelte-h="svelte-ehoyb8"><pre data-prefix="$"><code>docker run --rm -p 5995:5995 cupiddb/cupiddb:latest</code></pre></div> <h3 class="text-2xl my-4" data-svelte-h="svelte-jct9ak">Run Client</h3> <div role="tablist" class="tabs tabs-lifted"><input type="radio" name="Python-tab" role="tab" class="tab" aria-label="Python" checked> <div role="tabpanel" class="tab-content bg-white border-base-300 rounded-box p-4"><h4 class="text-xl mb-2" data-svelte-h="svelte-tul5mh">Install client</h4> <code class="text-sm sm:text-base block text-left items-center bg-gray-800 text-white rounded-lg p-3"><span class="flex gap-3"><span class="shrink-0 text-gray-500" data-svelte-h="svelte-1t9szs">$</span> <span class="flex-1"><span>pip install pycupiddb </span></span> </span></code> <h4 class="text-xl mb-2 mt-4" data-svelte-h="svelte-evdh8y">Run the client</h4> <code class="code-container text-sm sm:text-base block text-left items-center bg-gray-800 text-white rounded-lg p-4 svelte-1g1f2s2"><span class="gap-3"><pre><code>from pycupiddb import CupidClient, RowFilter</code></pre><pre><code>import pandas as pd</code></pre><pre><code> </code></pre><pre><code>df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})</code></pre><pre><code> </code></pre><pre><code>cupid = CupidClient(host='localhost', port=5995)</code></pre><pre><code> </code></pre><pre><code>cupid.set(key='key', value=df)</code></pre><pre><code> </code></pre><pre><code>df = cupid.get_dataframe(key='key')</code></pre><pre><code> </code></pre><pre><code># Or using filters</code></pre><pre><code> </code></pre><pre><code>filters = [</code></pre><pre><code> RowFilter(column='b', logic='gte', value=5, data_type='int')</code></pre><pre><code>]</code></pre><pre><code>df = cupid.get_dataframe(</code></pre><pre><code> key='key',</code></pre><pre><code> columns=['a'],</code></pre><pre><code> filters=filters,</code></pre><pre><code>)</code></pre> </span></code> </div></div></div></div> </div></main> <footer class="footer mt-7 p-10 bg-base-200 text-base-content" data-svelte-h="svelte-1ecj1px"><div><h3>CupidDB</h3> <p>In-memory Key-Value Data Store</p></div></footer></div>
<script>
{
__sveltekit_17s2shi = {
base: new URL(".", location).pathname.slice(0, -1)
};
const element = document.currentScript.parentElement;
const data = [null,null];
Promise.all([
import("./_app/immutable/entry/start.Bfrgs7V8.js"),
import("./_app/immutable/entry/app.CYprpbL5.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 3],
data,
form: null,
error: null
});
});
}
</script>
</div>
</body>
</html>