| File | Description |
|---|
| csv.q | Read delimited text (CSV, TSV) as a table, from a file, a URL or text in memory. |
| duckdb.q | Query and write DuckDB databases from q: a database is a handle, its tables are q tables. |
| ffi.q | Call C from q: .ffi.bind turns a symbol in any shared library into a q function, .ffi.callFunction is the one-shot form. |
| fs.q | The filesystem: .fs.exists, .fs.isfile, .fs.isdir, .fs.size answer for a path, a symbol or a list of them; .fs.remove deletes the files named and .fs.rmdir the empty directories named - never anything below them. |
| j.q | Read JSON as a table: .j.read loads a document or JSON Lines from a file, a URL or a string, .j.info shows the schema it would use. |
| massive.q | Market data from the Massive REST API (massive.com) as q tables: bars, daily aggregates, snapshots, trades, quotes, tickers, splits, dividends, IPOs and news. |
| md.q | Read Markdown as q data: .md.parse answers one row per block, .md.html renders XHTML. |
| parquet.q | Read and write parquet files through DuckDB: .parquet.read answers a table, .parquet.write writes one, and the schema, metadata, file_metadata, kv_metadata and bloom_probe verbs answer DuckDB's own inspection tables. |
| path.q | Path structure as text, pathlib's names: .path.name, .path.stem, .path.suffix, .path.parent, .path.join and .path.string. |
| pkg.q | pkg.q - package loading: .pkg.loadq[`:dirlist] loads every .q file under the directories, then runs each namespace's init* The only public function intended to be called is .pkg.loadq[`:dirlist] That first loads all .q files in Then runs init* from every namespace available in kdb |
| pq.q | The session itself: version, open connections, terminal size and colour support, and the standard-library load sequence. |
| qpc.q | Another q process as a data source: h:hopen `:pq:qpc:alias:host:port connects and answers the alias symbol `:pq:qpc:alias; h "1+1" is a sync call, h (`async;"x::1") an async send, `:pq:qpc:alias:table/ is that process's table for get, set, upsert and qsql (the query is pushed to the peer), hclose h closes it. |
| qunit.q | qunit.q - unit testing for q similar to junit, cunit etc. |
| regexp.q | Regular expressions in RE2 syntax: match, extract, capture groups, replace, split and escape. |
| str.q | Python's string helpers with Python's spellings and semantics: strip lstrip rstrip, startswith endswith, removeprefix removesuffix, isalpha isdigit isalnum isspace isupper islower, printf and format. |
| termbox.q | Draw on the terminal as a grid of cells: .termbox.init[] takes the screen, .termbox.show rows paints a list of strings from the top-left corner, .termbox.present[] flushes the changes, .termbox.peek_event 100 waits up to 100 ms for a key or mouse event, .termbox.shutdown[] hands the terminal back. |
| yml.q | YAML: .yml.load reads YAML lines or a file into q values, .yml.dump writes a q value out as YAML lines. |