Skip to content

Instantly share code, notes, and snippets.

View manzt's full-sized avatar
🥚
🐣🐥

Trevor Manz manzt

🥚
🐣🐥
View GitHub Profile
import anywidget
import traitlets
class ExampleWidget(anywidget.AnyWidget):
_esm = """
export function render({ model, el }) {
el.classList.add("custom-widget");
function valueChanged() {
el.textContent = model.get("value");
}
@manzt
manzt / index.html
Last active May 18, 2023 16:27
An animated observable line plot
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Interactive Observable Plot</title>
<script type="module" src="/main.js"></script>
</head>
<style>
:root {
font-family: sans-serif;
@manzt
manzt / ts-info.ts
Last active May 3, 2023 20:33
some (incomplete) types for HiGlass tilesets
type ChromSizes = [name: string, length: number][]
type ChromName = unknown;
type TilesetInfo = {};
type Bam = {
min_pos: [number];
max_pos: [number];
max_zoom: number;
@manzt
manzt / rename-jsx.mjs
Last active May 1, 2023 16:23
Utility script to rename React files with .js to .jsx
// @ts-check
import * as fsp from "node:fs/promises";
import * as util from "node:util";
import glob from "glob";
let matchingReactString = "from 'react'";
let BLUE = "\u001b[34m";
let YELLOW = "\u001b[33m";
let RESET = "\u001b[0m";
@manzt
manzt / anywidget-arrow.ipynb
Last active December 4, 2024 22:28
anywidget-arrow.ipynb
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@manzt
manzt / live-mpl.ipynb
Created February 28, 2023 19:24
live matplotlib views with jupyter-scatter
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@manzt
manzt / example.ipynb
Created February 28, 2023 17:20
jupyter-scatter derived state
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@manzt
manzt / Counter.svelte
Last active July 21, 2023 20:55
anywidget svelte demo
<script>
import { onDestroy, onMount } from "svelte";
export let model;
export let name = "value";
let count = model.get(name);
let event = `change:${name}`
let callback = () => count = model.get(name);
from setuptools import setup
VERSION = "0.1"
setup(
name="tweakpane",
description="Python bindings for Tweakpane UI",
author="Trevor Manz",
license="Apache License, Version 2.0",
version=VERSION,
import { Command } from "https://deno.land/x/[email protected]/command/mod.ts";
import { open } from "https://deno.land/x/[email protected]/index.ts";
let subcmds = [
"search",
"images",
"shopping",
"news",
"videos",
"maps",