Python + plotly + jupyter after packs

Ok, Block Party is over!

We are going to create packs using javascript. Quite nice actually

However, javascript is not optimal for a broad range of needings, and indeed it is not a first choice for any kind of data science / ML / EDA / etc. task

I am already embedding plotly graphs using embeds and my server. It’s not optimal but it works:

Mapa de las cervecerías artesanales de España · Presencia online de la cerveza artesana (coda.io)

Now, canvas is going to let us researchers offer much more convenient dashboard, using more horizontal space instead of just tall columns and a lot of pages.

Beyond that, if you want to do EDA on data or other simple data operations, either you have a formula, a workaround with formulas, or you are out of luck and you have to go to third party jupyter notebook providers such as google colab or deepnote.

For instance, I could start a project in Coda (using a two-way writeup template), retrieve data, work with this data using a jupyter notebook, and then either embed plotly graphics or copy + paste some tables to a coda table

It’s doable. But it is not elegant and you have to go back and forth, back and forth between coda and python environments.

Is there any unsurmountable obstacle which stops Coda to integrate jupyter Code cells?

@Juan_Luis_Chulilla,

Completely agree - like 100%+!

The folks over at SeaTable did exactly this - you can build server-side scripts/integrated apps with Javascript or Python or even a mix of both languages.

In the Coda context, there are a number of reasons why blending data science into other first-class artifacts would be ideal. Indeed, Coda could serve as a notebook in every sense of the term and ultimately redefine the nature of a notebook.

When I think of emerging data science tools like Streamlit, they too are in a similar orbit focusing on making data science UX/apps very simple to craft.

I see a bright future for data science in Coda and I suspect the openness of Packs will now incite some new ideas. Ideally, though, for performance we really need an integrated Python engine right along side the Javascript engine.

2 Likes

@Bill_French , agree!

Btw, are you the same guy in Airtable that built ML script?

At the same time it seems to be counterintuitive. I mean, Coda is a no-code platform. You just use blocks and formulas and… it should be all?

I think that the first proposition of value was just that. What would happen if excel and word would be invented today and all that stuff.

However, we are close to the end of 2021. Today Coda is much more than that. It is a powerful clean canvas ready for doing things into it using a fraction of time and resources that would you need to code a solution for a particular task or a team role.

I use streamlit and it is quite convenient. Ditto for datapane. But both of them, like notebooks, are data science verticals. What you can do is much more limited than what you could do with Coda.

I also find that jupyter code cells would be unobtrusive in Coda. For the vast majority of coda makers, it would be an arcane option too far from their needings and capabilities. But for a good number of analyst, it would save us time and would declutter our tasks.

Let’s see an example

vacunación en España vs covid-19 | Deepnote

That notebook download all the ods files from Spanish Health Ministry and then transform and clean the data in order to obtain different time series (which are not offered by the official source).

Today I could show the graphs from that notebook in a Coda document. However, I would have to do a rather inelegant workaround to update them daily in Coda.

If from Coda I could read the historical data file of my example and use simple code cells, I could generate updated charts different from the native ones in Coda, or even generate Coda tables to create native Coda charts.

The difference between Coda, Streamlit and datapane is that Coda is much, much more flexible, faster and more general than Streamlit or Datapane. With Datapane, e.g., I can generate reports with code and dynamic charts, or in fact you can generate reports with any derivative of jupyter notebook.

However, what you cannot do with any of those solutions is to generate tools like those generated with Coda, which also communicate with so many third-party services.

If Coda were to enter the realm of data science the consequences are hard to foresee :slight_smile:

2 Likes

Well, there’s no such thing as a “no-code” platform. Even Excel had programmable formulas from day one. And Coda was never intended to be just a remake of the “document”.

This is why the definition of “maker” matters so much and the corollary - information consumers - is a critical delineation.

This is precisely how I approach dynamic modeling integration (and other ML work); the heavy lifting is designed in InsightMaker; the data inputs for a modeling outcome is in provided through Coda (the UX is clean and simple). The glue that binds them is currently Google Cloud Platform but that will soon change with access to custom Packs.

The modeling inputs and outcomes are elegant and blend easily with narratives and other supporting content and references.

In my view, this is not an “if”; it’s “when”. Data science is rapidly becoming a hygiene; a necessary requirement for all businesses and organizations. The trend in this direction began 20 years ago and it’s become a necessity especially for domain experts. The advent of low-code expectations and app development by non-technical people to provide solutions at the edge is overwhelming and intense.

Airtable recently acquired a firm to shore up its data visualization capabilities for precisely this reason. It’s woefully misdirected because no vendor has the chops to build a universally acceptable collection of data visualization possibilities; fool’s errand. But they are trying to cave to the pressure behind the democratization of data science.

3 Likes

Yes, despite the fact that the script you reference is an abomination of ML and difficult to replicate, that would be me. :wink:

1 Like