Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 24 2015 04:29

    freeman-lab on master

    Update README.md (compare)

  • Dec 09 2015 19:18

    freeman-lab on master

    Adjust color (compare)

  • Dec 09 2015 19:16

    freeman-lab on master

    Add logo (compare)

  • Dec 01 2015 06:59

    freeman-lab on master

    Update README.md (compare)

  • Dec 01 2015 06:59

    freeman-lab on master

    Update README.md (compare)

  • Dec 01 2015 06:58

    freeman-lab on master

    Update README.md (compare)

  • Dec 01 2015 06:52

    freeman-lab on master

    Add Gitter badge Merge pull request #1 from gitt… (compare)

  • Dec 01 2015 06:52
    freeman-lab closed #1
  • Dec 01 2015 06:42
    gitter-badger opened #1
Kyle Kelley
@rgbkrk
I'd like to prescribe that the diffing is done on the kernel side
What would you want it to be on the python side (or other backend)?
We can always make helpers per kernel to send the right messages and make it easier
IPython.models.update(model_id, ...)
IPython.models.set(model_id, ...)
I'm not a total fan of the naming there
Matthew Conlen
@mathisonian
yeah, something in that direction makes sense to me
i’d be okay with being a little verbose if it provides a way to minimize data transfer
this transform thing -
i’m out of the loop i think, is it something that already exists within nteract?
Yeah
Matthew Conlen
@mathisonian
ah cool
Kyle Kelley
@rgbkrk
We map mimetypes to a React component
and shove it the data that comes from the backend
Matthew Conlen
@mathisonian
so in this case theres always a 1-1 mapping between data model and react component instance
that seems pretty reasonable
Kyle Kelley
@rgbkrk
Yeah, that's the thinking
Matthew Conlen
@mathisonian
i think
Kyle Kelley
@rgbkrk
well
I think I wrote this so you could set a model id assigned to different mimetypes
This is what the jupyter protocol looks like for the display under the hood: http://slides.com/kylekelley/sidecar-5#/6
Matthew Conlen
@mathisonian
okay, i see
Kyle Kelley
@rgbkrk
You may have multiple views of the same model on the page
Matthew Conlen
@mathisonian
yes, was just going to ask that
Kyle Kelley
@rgbkrk
It's up to the contract of how you write the frontend part
Matthew Conlen
@mathisonian
v cool
Kyle Kelley
@rgbkrk
as for registering these transforms, that's a bit of an open question -- we can easily make it part of the state tree
right now I just add the plotly and geojson ones into our default transforms: https://github.com/nteract/nteract/blob/master/src/notebook/components/transforms/index.js
Those don't handle any updates of course, up until we figure out this spec
Once it's happy, I'll start prototyping
Would you want to see lightning embedded in here directly to hack with?
Matthew Conlen
@mathisonian
the registration question is interesting. it would be cool to be able to add new ones dynamically somehow, but that seems fairly complicated
i would be down to try creating a custom transform if its easy enough to get it loaded into the notebook
Kyle Kelley
@rgbkrk
so long as you have a JSON serializable representation, you can follow the plotly.js or geojson/leaflet ones
I started off with victory components originally
but then realized I'd need to have some standard
Matthew Conlen
@mathisonian
okay cool
yeah i remember seeing this thread nteract/nteract#661
Kyle Kelley
@rgbkrk
As for registration, I could see us having a redux action like:
{
  type: "REGISTER_TRANSFORM",
  transform: component,
}
Where we shove the new transform in the front of the display order (it's more like "priorityOrder") as well as set the map from mimetype -> component
Kyle Kelley
@rgbkrk
Forgot to note - I don't expect users to work with the low level bits
I want to provide the fundamentals for libraries
that way a user operates more like
x = Thing()
x

# Display the thing


# Later in a new cell
x.property = 23
# View above is updated
Matthew Conlen
@mathisonian
got it, that makes a ton of sense
Seth Vincent
@sethvincent
@jwittenbach yeah! using it for minidocs and adventuretron (http://github.com/sethvincent/adventuretron)
Jason Wittenbach
@jwittenbach
@sethvincent awesome! I’ve been playing around with it this weekend for a side-project of mine.
do you have a good sense of how the routing works? that the one part of the framework that isn’t making a ton of sense to me, and I can’t seem to find any good documentation about it
Seth Vincent
@sethvincent
@jwittenbach yeah, when visiting urls of a choo app it modifies the state in a couple ways. it changes state.location.pathname and there's also state.params which reflects url variables like page in /pages/:page