Hi, would like to share a Data Notebook.
With focus on clean and minimal presentation of the data.
Charts (Vega + Python Altair alike, TidyData), Tables (TidyData), Text, Code and Formulas (Markdown).
Example Notebook Page, the Nim Code that generates it and its YAML/JSON representation
The Nim Library
I'm using it to analyse some Financial Data, if you like to see more chart examples - MSFT Stock Options
It may be a bit hard to use it right now, as the documentation is very minimal. I'm going to publish more docs and examples. Hopefully in the next couple of weeks...
UPDATE: standalone mode added.
Now it's possible to use Notebook as plain html files locally, or publish it anywhere on the web.
See page.save "play.html" in the readme.
Jupyther Notebook require a different workflow, and I would like to keep the Data Exploration workflow same as normal coding workflow in VS Code.
It allows to use VS Code and its full capabilities like autocomplete etc. Not Jupyther Code Editor.
Have same libraries as in normal coding environment. With same paths and same configs.
If I want to inspect some data in production, I can print some table, chart or notebook same way as echo. For example, Nim has built-in Profiler that prints to console, instead it could print it as a web-page with table/charts.
Or, I process stock prices, and I have a bug somewhere in my data processing pipeline, I can plot(data) at any processing step, and see the charts or tables, see how data looks like and how it's changed during the data processing pipeline.
Jupyther Notebooks is more like experimenting tool working in isolation. This tool integrates into your workflow, like more advanced print statement. You can use it anywhere in any program in any language.
Please let me know if you disagree or if you see some problems with this approach. I'm really interested in feedback.
P.S.
One downside of the current version is missing REPL-like interactive mode like in Jupyther. Another is lack of interactive widgets, so you can publish alive, interactive documents. Both going to be added a bit later.
Thanks for feedback!
I would add a possibility for picture insert into a page, bitmap and vector, > Soon or late it will be a question about page formatting tools (these boring aligning, fonts, margins , etc),
It's already possible to use custom styling via CSS and use images encoded as base64 or url. I added examples to readme.
As for the SVG format, going to add it too a bit later, as it's needs to be sanitised before embedding to make it safe.
is it possible to emit directly pdf file?
Yes, seems like a valid use case, it kinda works, but not out of the box. The problem is that to do that you need to have a headless browser installed on your local machine, and I don't know an easy way to do that. It would require quite heavy dependency. I'm going to think how to do it easily.