{"repo":"dynamic-alpha/ducktape","free":true,"listed":false,"github":"https://github.com/dynamic-alpha/ducktape","clone":"git clone https://github.com/dynamic-alpha/ducktape.git","description":"Connect tech.v3.dataset to DuckDB","language":"Clojure","stars":41,"topics":["bindings","clojure","duckdb"],"license":"MIT","category":"data-pipelines","readme_excerpt":"Ducktape Connect tech.v3.dataset to DuckDB. A near drop-in replacement for tmducken that uses Java's Panama Foreign Function & Memory API instead of JNA. Differences from tmducken Better stability. Built on JDK 22+ Project Panama ( java.lang.foreign. ) instead of JNA: - Native memory lives in scoped Arena s — released deterministically, not when the GC runs. - GC-race use-after-free segfaults are ruled out by construction. More DuckDB types. Read and write support for BLOB, HUGEINT, DECIMAL, INTERVAL, ENUM, LIST, STRUCT, MAP, and all timestamp precision variants — types tmducken does not handle. Streaming appender API. open-appender / append-dataset! / flush-appender! keep DuckDB's appender alive across batches, amortizing setup cost — up to 10× faster than repeated insert-dataset! for small-batch ingest (see Streaming inserts). Performance tuned. Parallel column encode/decode, direct MethodHandle FFI dispatch, partitioned parallel-concat for multi-chunk reads — up to 4× faster than tmducken (see Benchmarks). Requirements - JDK 22+ (Panama FFM is a final API as of JDK 22) - DuckDB 1.5+ (tested against 1.5.2) Installation Add the dependency and the required JVM option to your deps.edn : The --enable-native-access=ALL-UNNAMED JVM option is required — Panama's FFI refuses native downcalls without it. Quick start open-db returns a Db , connect returns a Conn . Both implement java.lang.AutoCloseable . Close is idempotent; ops on a closed handle throw IllegalStateException . (duck/","default_branch":null,"files":null,"tree":[],"storefront":"/r/dynamic-alpha","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dynamic-alpha/ducktape/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}