Welcome to the DataPrism CDN! This is a high-performance browser-based analytics engine powered by WebAssembly and DuckDB.
https://srnarasim.github.io/DataPrism/dataprism.min.js
Core DataPrism engine with plugin framework (~119KB)
https://srnarasim.github.io/DataPrism/dataprism.umd.js
Universal Module Definition build for broader compatibility (~92KB)
https://srnarasim.github.io/DataPrism/dataprism-plugins.min.js
Production-ready plugins: Charts, CSV Import, Clustering, Performance Monitor (~232KB)
https://srnarasim.github.io/DataPrism/assets/duckdb-browser-*.worker.js
DuckDB worker scripts for browser compatibility (~3MB total)
https://srnarasim.github.io/DataPrism/duckdb-config.json
DuckDB configuration for hybrid deployment
https://srnarasim.github.io/DataPrism/manifest.json
Asset manifest with integrity hashes and metadata
<script type="module">
import { DataPrismEngine } from "https://srnarasim.github.io/DataPrism/dataprism.min.js";
const engine = new DataPrismEngine();
await engine.initialize();
const result = await engine.query("SELECT 1 as hello");
console.log(result);
</script>
<script type="module">
import { DataPrismEngine } from "https://srnarasim.github.io/DataPrism/dataprism.min.js";
import {
createVisualizationPlugin,
createIntegrationPlugin,
createProcessingPlugin,
createUtilityPlugin
} from "https://srnarasim.github.io/DataPrism/dataprism-plugins.min.js";
// Initialize engine
const engine = new DataPrismEngine();
await engine.initialize();
// Use ready-made plugins
const chartsPlugin = await createVisualizationPlugin("observable-charts");
const csvPlugin = await createIntegrationPlugin("csv-importer");
const clusteringPlugin = await createProcessingPlugin("semantic-clustering");
const monitorPlugin = await createUtilityPlugin("performance-monitor");
// Import and visualize data
const data = await csvPlugin.execute("import", { file: myFile });
await chartsPlugin.render(container, data, { type: "bar" });
</script>
<script type="module">
import {
DataPrismEngine,
DataPrismPluginSystem,
BasePlugin
} from "https://srnarasim.github.io/DataPrism/dataprism.min.js";
// Initialize engine and plugin system
const engine = new DataPrismEngine();
const pluginSystem = await DataPrismPluginSystem.create();
// Load a custom plugin
class MyPlugin extends BasePlugin {
getCapabilities() { return ['data-processing']; }
async execute(operation, params) {
// Your custom plugin logic
return processedData;
}
}
// Register and use the plugin
await pluginSystem.register(new MyPlugin(manifest));
await pluginSystem.activate("my-plugin");
</script>
<script src="https://srnarasim.github.io/DataPrism/dataprism.umd.js"></script>
<script>
const engine = new DataPrism.DataPrismEngine();
engine.initialize().then(() => {
return engine.query("SELECT 1 as hello");
}).then(result => {
console.log(result);
});
</script>
<script src="https://srnarasim.github.io/DataPrism/dataprism.umd.js"></script>
<script>
const { DataPrismEngine, DataPrismPluginSystem, BasePlugin } = DataPrism;
// Create custom plugin with UMD
class MyUMDPlugin extends BasePlugin {
getCapabilities() { return ['data-processing']; }
async execute(operation, params) {
return { processed: true };
}
}
// Use plugin system
DataPrismPluginSystem.create().then(pluginSystem => {
// Plugin system ready
console.log('Plugin system initialized');
});
</script>
DataPrism uses an intelligent hybrid loading strategy:
DataPrism includes a comprehensive plugin system with the following interfaces available via CDN:
DataPrismPluginSystem, PluginManager, BasePlugin
Main plugin system classes for creating and managing plugins
PluginRegistry, PluginLoader, PluginUtils
Plugin discovery, loading, and validation utilities
SecurityManager, ResourceManager, PluginSandbox
Security controls and resource management for plugins
EventBus, EventBusFactory
Event-driven communication system for plugins
All assets include subresource integrity (SRI) hashes. Check the manifest.json
for integrity values.