Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/randomfractals/vscode-data-table
Data Table πΈ , Flat Data Grid δΈ & Data Summary π·οΈ Renderers for VSCode Notebook π Cell β Data Outputs
https://github.com/randomfractals/vscode-data-table
cell data data-summary flat-data geo notebook output renderer runbooks runme table view viewer vscode
Last synced: 23 days ago
JSON representation
Data Table πΈ , Flat Data Grid δΈ & Data Summary π·οΈ Renderers for VSCode Notebook π Cell β Data Outputs
- Host: GitHub
- URL: https://github.com/randomfractals/vscode-data-table
- Owner: RandomFractals
- License: apache-2.0
- Created: 2021-05-11T12:57:36.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-02T14:38:33.000Z (about 1 year ago)
- Last Synced: 2024-10-14T22:49:08.414Z (about 1 month ago)
- Topics: cell, data, data-summary, flat-data, geo, notebook, output, renderer, runbooks, runme, table, view, viewer, vscode
- Language: JavaScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-data-table
- Size: 15.2 MB
- Stars: 25
- Watchers: 3
- Forks: 5
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# vscode-data-table
[![Apache-2.0 License](https://img.shields.io/badge/license-Apache2-brightgreen.svg)](http://opensource.org/licenses/Apache-2.0)
[![Version](https://img.shields.io/visual-studio-marketplace/v/RandomFractalsInc.vscode-data-table.svg?color=orange&style=?style=for-the-badge&logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-data-table)
[![Installs](https://img.shields.io/visual-studio-marketplace/i/RandomFractalsInc.vscode-data-table.svg?color=orange)](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-data-table)
[![Downloads](https://img.shields.io/visual-studio-marketplace/d/RandomFractalsInc.vscode-data-table.svg?color=orange)](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-data-table)
Data Table Renderers for VSCode Notebooks πSee [Data Preview](https://github.com/RandomFractals/vscode-data-preview) πΈ vscode extension for a generic [Grid Data Viewer](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-data-preview) with many common data formats support, search, sort, filters, grouping, splits, pivot tables, aggregates and basic charts π.
# Support
These [Data Table Renderers](https://github.com/RandomFractals/vscode-data-table) were created to enhance raw data views in Jupyter and custom [VSCode Notebooks](https://code.visualstudio.com/blogs/2021/11/08/custom-notebooks) π.
Please consider becoming a [Fan](https://github.com/sponsors/RandomFractals/sponsorships?tier_id=18883&preview=false) and sponsoring our dev efforts on this and other [Random Fractals, Inc.](https://twitter.com/search?q=%23RandomFractalsInc&src=typed_query&f=live) code and [data viz extensions](https://marketplace.visualstudio.com/publishers/RandomFractalsInc) if you find them useful, educational, or enhancing your daily dataViz/dev code workflows and exploratory data analysis:
βοΈ https://ko-fi.com/dataPixy
π https://github.com/sponsors/RandomFractals# Data Table πΈ Renderers
Data Table Renderers is a collection of custom tabular data renderers for vscode notebooks.
![Data Table πΈ Renderers](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-renderers.png?raw=true
"Data Table πΈ Renderers")# πΈ Features
- View `CSV`, semi-flat `XML`, [`GeoJSON`](https://www.rfc-editor.org/rfc/rfc7946.html) and `JSON` **array** data Notebook π cell β output in HTML table with column sort, number and date formatting
- Incremental Data Table πΈ rows creation on table scroll for faster display of larger datasets
- [Data Summary π Renderer View](https://github.com/RandomFractals/vscode-data-table#data-summary--renderer-view) for a quick overview of loaded dataset
- [Flat Data δΈ Grid Renderer](https://github.com/RandomFractals/vscode-data-table#flat-data-%E4%B8%AD-grid-renderer) with column summary headers, filtering, and `CSV` save options
- Built-in [REST Book](https://github.com/RandomFractals/vscode-data-table#rest-book-example) π, [Python](https://github.com/RandomFractals/vscode-data-table#python-notebook-example) π, [TypeScript Notebook](https://github.com/RandomFractals/vscode-data-table#typescript-notebook-example) π, [.NET Interactive Notebook](https://github.com/RandomFractals/vscode-data-table#net-interactive-notebook-example) π, and [Pyolite/Pyodide](https://github.com/RandomFractals/vscode-data-table#pyolite-notebook-example) π [Notebook Examples](https://github.com/RandomFractals/vscode-data-table#-examples) π
- [Geo π Data Table πΈ View](https://github.com/RandomFractals/vscode-data-table#geo--data-table--view)
- Experimental [XML Data Table πΈ View](https://github.com/RandomFractals/vscode-data-table#xml-data-table--view)
- Notebook π cell β [Text Output](https://github.com/RandomFractals/vscode-data-table#text-oputput-view) scrollable container with [code pre-wrap](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code) for quick copy/paste to other places
- Use [Data Table](https://github.com/RandomFractals/vscode-data-table#data-table--renderer-view), [Flat Data Grid](https://github.com/RandomFractals/vscode-data-table#flat-data-%E4%B8%AD-grid-renderer) & [Data Summary](https://github.com/RandomFractals/vscode-data-table#data-summary--renderer-view) Notebook π cell renderers with [Pyolite/Pyodide](https://marketplace.visualstudio.com/items?itemName=joyceerhl.vscode-pyodide) π kernel in [Jupyter](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter) Notebooks [VSCode web editor](https://code.visualstudio.com/docs/editor/vscode-web) on [vscode.dev](https://vscode.dev) and [github.dev](https://github.dev/github/dev):![Flat Data Grid δΈ in browser](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/flat-data-grid-in-browser.png?raw=true
"Flat Data Grid δΈ in browser")## Data Table πΈ Renderer View
Data Table πΈ Notebook π cell β output renderer uses [Observable Inputs Table](https://github.com/observablehq/inputs#Table) component for fast incremental data display and scrolling of datasets loaded in [VSCode Notebooks](https://code.visualstudio.com/api/extension-guides/notebook) π
![Data Table πΈ Renderer View](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-renderer.png?raw=true
"Data Table πΈ Renderer View")## Observable Data Table πΈ Viewer π
You can also use our generic [Data Table Viewer](https://observablehq.com/@randomfractals/data-table-viewer) π notebook to preview public datasets in a browser:
![Observable Data Table πΈ Viewer π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/observable-data-table-viewer.png?raw=true
"Observable Data Table πΈ Viewer π")Or use it in vscode with [Observable JS Notebook π Inspector](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.js-notebook-inspector) π΅οΈ:
![Observable JS Data Table πΈ Viewer π Inspector π΅οΈ](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-viewer-notebook.png?raw=true
"Observable JS Data Table πΈ Viewer π Inspector π΅οΈ")Or load Data Table πΈ Viewer π with [Observable JS](https://marketplace.visualstudio.com/items?itemName=GordonSmith.observable-js) vscode extension:
![Observable JS Data Table πΈ Viewer π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-viewer-ojs.png?raw=true
"Observable JS Data Table πΈ Viewer π")## Data Summary π Renderer View
This general purpose Data Table πΈ Renderer extension also includes Data Summary π Renderer based on modifield [Observable Summary Table](https://observablehq.com/@observablehq/summary-table) component for a quick overview of datasets loaded in [VSCode Notebooks](https://code.visualstudio.com/api/extension-guides/notebook) π
![Data Summary π Renderer View](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-summary-renderer.png?raw=true
"Data Summary π Renderer View")## Flat Data δΈ Grid Renderer
[Flat Data Grid](https://github.com/RandomFractals/vscode-data-table/issues/115) renderer is the latest addition to this custom tabular data renderers collection vscode extension. It's based on the [Flat UI](https://github.com/githubocto/flat-ui) React data grid component library created by the [GitHub Next](https://twitter.com/GitHubNext) dev team & used in [Flat Data](https://next.github.com/projects/flat-data/) viewer on [flatgithub.com](https://flatgithub.com).
![Flat Data δΈ Grid Renderer Example](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/flat-data-grid-renderer.png?raw=true
"Flat Data δΈ Grid Renderer Example")## πΈ Examples
Data Table πΈ for Notebooks π extension v1.6.0 and up ships with built-in Notebook examples. You can access provided Notebook Examples listed below via `Data Table: Notebook Examples` command from `View -> Command Palette...` vscode menu:
![Data Table πΈ Notebook Examples](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-notebook-examples.png?raw=true
"Data Summary Data Table πΈ Notebook Examples")## Runme Notebook Example
1. Install [Runme](https://marketplace.visualstudio.com/items?itemName=stateful.runme) vscode extension
2. Load [notebooks/world-lakes.md](https://github.com/RandomFractals/vscode-data-table/blob/main/notebooks/world-lakes.md) document
3. Click on βΆοΈ in the markdown text editor context menu to `Open markdown as Runme` π.
4. Run All α cells β
5. Click on `...` in the gutter of the `curl` command cell and `Change Presentation` to one of the Data Table πΈ renderers or [Leaflet π Map πΊοΈ](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-leaflet) renderer:
![World Lakes Runme Notebook π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/world-lakes-runbook.gif?raw=true
"World Lakes Runme Notebook π")## REST Book Example
1. Install [REST Book](https://marketplace.visualstudio.com/items?itemName=tanhakabir.rest-book) π vscode extension
2. Load [Chicago Traffic Tracker](https://github.com/RandomFractals/vscode-data-table/blob/main/notebooks/chicago-traffic-tracker.restbook) REST Book π
3. Run All α cells β
4. Click on `...` in the gutter of `GET` data output and change it to Data Table πΈ renderer:
![Chicago Traffic Data REST Book π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-chicago-traffic.png?raw=true
"Chicago Traffic Data REST Book π")## Python Notebook Example
1. Install [`vega_datasets`](https://github.com/altair-viz/vega_datasets) and [`altair`](https://github.com/altair-viz/altair) Python libraries via [`pip`](https://pypi.org/project/pip/) or [`conda`](https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html):
```
$ pip install altair vega_datasets
```
or```
$ conda install -c conda-forge altair vega_datasets
```2. Load [Iris Vega Data](https://github.com/RandomFractals/vscode-data-table/blob/main/notebooks/iris-vega-data.ipynb) Python π Notebook π
3. Run All α cells β
4. Click on `...` in the gutter of iris data output and change it to Data Table πΈ renderer:
![Iris Vega Data Table πΈ View](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/iris-data-table.png?raw=true
"Iris Vega Data Table πΈ View")or switch it to Data Summary π·οΈ renderer:
![Iris Vega Data Table π·οΈ View](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/iris-data-summary.png?raw=true
"Iris Vega Data Summary π·οΈ View")## TypeScript Notebook Example
1. Install [TypeScript Notebooks](https://marketplace.visualstudio.com/items?itemName=donjayamanne.typescript-notebook) π vscode extension
2. Download [USA Airports data files](https://github.com/RandomFractals/vscode-data-table/tree/main/data)
3. Load [USA Airports](https://github.com/RandomFractals/vscode-data-table/blob/main/notebooks/usa-airports-ts.nnb) TypeScript Notebook π
4. Run All α cells β to view local `CSV` and `JSON` text data outputs with Data Table πΈ:
![USA Airports TypeScript Notebook π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/usa-airports-ts-notebook.png?raw=true
"USA Airports TypeScript Notebook π")Also, try new [USA State Capitals](https://github.com/RandomFractals/vscode-data-table/blob/main/notebooks/usa-state-capitals-ts.nnb) TypesScript Notebook π with `GeoJSON` [node-fetch](https://github.com/node-fetch/node-fetch) and [Flat Data Grid](https://github.com/RandomFractals/vscode-data-table#flat-data-%E4%B8%AD-grid-renderer) renderer from built-in [Notebook Examples](https://github.com/RandomFractals/vscode-data-table#-examples):
![USA State Capitals TypeScript Notebook π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/usa-state-capitals-ts-notebook.png?raw=true
"USA State Captitals TypeScript Notebook π")## .NET Interactive Notebook Example
1. Install [.NET Install Tool for Extension Authors](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.vscode-dotnet-runtime) vscode extension
2. Install [.NET Interactive Notebooks](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-interactive-vscode) π vscode extension
3. Load [Chicago Speed Cameras](https://github.com/RandomFractals/vscode-data-table/blob/main/notebooks/chicago-speed-cameras-net.ipynb) .NET Interactive Notebook π
4. Run All α cells β:
![Chicago Speed Cameras .NET Interactive Notebook π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-net-interactive.png?raw=true
"Chicago Speed Cameras .NET Interactive Notebook π")## Pyolite Notebook Example
1. Install [Pyodide](https://marketplace.visualstudio.com/items?itemName=joyceerhl.vscode-pyodide) π vscode extension
2. Load [Chicago Red Light Cameras](https://github.com/RandomFractals/vscode-data-table/blob/main/notebooks/chicago-red-light-cameras.ipynb) Pyolite Notebook π
3. Run All α cells β:
![Chicago Red Light Cameras Pyolite Notebook π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-pyolite-notebook.png?raw=true
"Chicago Red Light Cameras Pyolite Notebook π")## Geo π Data Table πΈ View
1. Install [REST Book](https://marketplace.visualstudio.com/items?itemName=tanhakabir.rest-book) π vscode extension
2. Load [World π Rivers](https://github.com/RandomFractals/vscode-data-table/blob/main/notebooks/world-rivers.restbook) REST Book π
3. Run All α cells β
4. Click on `...` in the gutter of `GET` data output and change it to Data Table πΈ for geo table view:
![World π Rivers Geo Data REST Book π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-geo-view.png?raw=true
"World π Rivers Geo Data REST Book π")## XML Data Table πΈ View
1. Load [World π GDP](https://github.com/RandomFractals/vscode-data-table/blob/main/notebooks/world-gdp.restbook) REST Book π
2. Run All α cells β
3. Click on `...` in the gutter of `GET` data output and change it to Data Table πΈ for XML data table view:
![World π GDP Data REST Book π](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-world-gdp.png?raw=true
"World π GDP Data REST Book π")## Text Oputput View
Data Table πΈ renderer displays data that is not in `CSV`, [`GeoJSON`](https://www.rfc-editor.org/rfc/rfc7946.html) or `JSON` **array** data format in a scrollable text container:
![Text Output Notebook π View](https://github.com/RandomFractals/vscode-data-table/blob/main/docs/images/data-table-text-output.png?raw=true
"Text Output Notebook π View")## Data Table Renderers Extension Dependency
You can add our Data Table πΈ Notebook π Renderers dependency to your custom VSCode notebook kernels to enable users of your custom notebooks to view data with our Data Table renderers by declaring extension dependency in your VSCode extension `package.json`:
```
"extensionDependencies": [
"RandomFractalsInc.vscode-data-table"
],
```See VSCode [Extension Manifest](https://code.visualstudio.com/api/references/extension-manifest) doc for more info.
# Recommended Extensions
Recommended extensions for working with Interactive Notebooks π, data πΈ, charts π, and geo πΊοΈ data formats in [VSCode](https://code.visualstudio.com/):
| Extension | Description |
| --- | --- |
| [Data Preivew πΈ](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-data-preview) | Data Preview πΈ extension for importing π€ viewing π slicing πͺ dicing π² charting π & exporting π₯ large JSON array/config, YAML, Apache Arrow, Avro & Excel data files |
| [Geo Data Viewer πΊοΈ](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.geo-data-viewer) | [kepler.gl](https://kepler.gl) Geo Data Analytics tool to gen. some snazzy πΊοΈs w/0 `Py` π `pyWidgets` βοΈ `pandas` πΌ or `react` βοΈ |
| [Vega Viewer π](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-vega-viewer) | Provides Interactive Preview of Vega & Vega-Lite maps πΊοΈ & graphs π |
| [Leaflet π Map πΊοΈ](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.vscode-leaflet) | Leaflet π Map πΊοΈ for Notebook π cell β data outputs |
| [JS Notebook π Inspector π΅οΈ](https://github.com/RandomFractals/js-notebook-inspector) | Provides Interactive Preview of [Observable JS Notebooks](https://observablehq.com/documentation#notebook-fundamentals) π, Notebook π nodes β & cells β source code |
| [Observable JS](https://marketplace.visualstudio.com/items?itemName=GordonSmith.observable-js) | Observable Notebooks π Interpreter with VSCode Notebook view support, [Observable](https://observablehq.com/@observablehq/observable-for-jupyter-users?collection=@observablehq/observable-for-jupyter-users) `js` and `md` code outlines and previews |
| [Runme βΆοΈ](https://marketplace.visualstudio.com/items?itemName=stateful.runme) | Runme executes commands and code blocks from markdown documents, and provides direct CLI integration and multi-language support in Visual Studio Code markdown text editor and markdown-based notebooks. |
| [DeltaXML XPath Notebook](https://marketplace.visualstudio.com/items?itemName=deltaxml.xpath-notebook) | XPath 3.1 Notebook π for Visual Studio Code |
# Dev LogSee [#DataTableView πΈ](https://twitter.com/hashtag/DataTableView?src=hashtag_click&f=live) & [#DataTableRenderers](https://twitter.com/hashtag/DataTableRenderers?src=hashtag_click&f=live) tags on our [Twitter](https://twitter.com/TarasNovak) feed for the latest & greatest updates on this vscode extension & what's next in store for new data tools in vscode.
# Dev Build
```bash
$ git clone https://github.com/RandomFractals/vscode-data-table
$ cd vscode-data-table
$ npm install
$ npm run compile
$ code .
```
`F5` to launch Data Table extension VSCode debug session.||
```bash
vscode-data-table>vsce package
```
to generate `VSIX` Data Table extension package with [vsce](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#vsce) from our latest for local dev install in VSCode.# Contributions
Any and all test, code or feedback contributions are welcome.
Open an [issue](https://github.com/RandomFractals/vscode-data-table/issues) or create a pull request to make this Data Table πΈ Renderers vscode notebooks π extension work better for all.
# Backers