Official interact API needed

36 views
Skip to first unread message

kcrisman

unread,
Oct 23, 2014, 5:03:19 PM10/23/14
to sage-...@googlegroups.com, Andrey Novoseltsev, jason...@creativetrax.com, William Stein
Hi all!  Based on on-and-off discussion with some other developers and the disconnect between interacts on SMC and sagecell and sagenb, it seems time to at least find out what an API for interacts currently is.  

The one for sagenb is pretty well documented, I think, in interact.py.  I have no idea where the other two are.

Andrey has volunteered ;-) to combine all current documentation into something.  So let us know!!

Naturally there could still be further extensions in SMC if needed but we really need a place for a consistent API or it will just be too confusing.  (That includes nested interacts, presumably, though I don't know whether sagenb could do them without some upgrades in its dependencies - jQuery is being updated, which is a start, but it might need other widgets?)

Thanks!
- kcrisman

William Stein

unread,
Oct 23, 2014, 5:28:01 PM10/23/14
to kcrisman, sage-devel, Andrey Novoseltsev, Jason Grout
On Thu, Oct 23, 2014 at 2:03 PM, kcrisman <kcri...@gmail.com> wrote:
> Hi all! Based on on-and-off discussion with some other developers and the
> disconnect between interacts on SMC and sagecell and sagenb, it seems time
> to at least find out what an API for interacts currently is.
>
> The one for sagenb is pretty well documented, I think, in interact.py. I
> have no idea where the other two are.

Type

interact?

for the documentation in SMC (it's very similar to Sage). Then for
each control, type "interact.controls.[tab]" and look at their
docstrings.

In sagecell, doing

interact?

and hitting enters silently fails. Doing interact?[tab] shows some
very minimal/useless documentation. So I also don't know where the
interact docs are for SMC.



>
> Andrey has volunteered ;-) to combine all current documentation into
> something. So let us know!!
>
> Naturally there could still be further extensions in SMC if needed but we
> really need a place for a consistent API or it will just be too confusing.
> (That includes nested interacts, presumably, though I don't know whether
> sagenb could do them without some upgrades in its dependencies - jQuery is
> being updated, which is a start, but it might need other widgets?)

Nested interacts isn't really something that need documentation or an
API. They are something that should "just work", but which don't in
sagenb, and probably won't ever.

To add to the confusion, there is something like interacts for
ipython, which is maybe somewhat different API-wise from what is in
sage...

http://nbviewer.ipython.org/github/ipython/ipython/blob/master/examples/Interactive%20Widgets/Index.ipynb

-- William

>
> Thanks!
> - kcrisman



--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

Jason Grout

unread,
Oct 23, 2014, 10:13:27 PM10/23/14
to William Stein, kcrisman, sage-devel, Andrey Novoseltsev, Jason Grout
On 10/23/14, 17:27, William Stein wrote:
> On Thu, Oct 23, 2014 at 2:03 PM, kcrisman <kcri...@gmail.com> wrote:
>> Hi all! Based on on-and-off discussion with some other developers and the
>> disconnect between interacts on SMC and sagecell and sagenb, it seems time
>> to at least find out what an API for interacts currently is.
>>
>> The one for sagenb is pretty well documented, I think, in interact.py. I
>> have no idea where the other two are.
>
> Type
>
> interact?
>
> for the documentation in SMC (it's very similar to Sage). Then for
> each control, type "interact.controls.[tab]" and look at their
> docstrings.
>
> In sagecell, doing
>
> interact?
>
> and hitting enters silently fails. Doing interact?[tab] shows some
> very minimal/useless documentation. So I also don't know where the
> interact docs are for SMC.

There is some very rough documentation at:

https://github.com/sagemath/sagecell/blob/master/doc/interact_protocol.rst

There is some more comprehensive documentation for our rewrite in the
source file:

https://github.com/sagemath/sagecell/blob/master/interact_sagecell.py

and for the sage compatibility layer at:

https://github.com/sagemath/sagecell/blob/master/interact_compatibility.py


>
>
>
>>
>> Andrey has volunteered ;-) to combine all current documentation into
>> something. So let us know!!
>>
>> Naturally there could still be further extensions in SMC if needed but we
>> really need a place for a consistent API or it will just be too confusing.
>> (That includes nested interacts, presumably, though I don't know whether
>> sagenb could do them without some upgrades in its dependencies - jQuery is
>> being updated, which is a start, but it might need other widgets?)
>
> Nested interacts isn't really something that need documentation or an
> API. They are something that should "just work", but which don't in
> sagenb, and probably won't ever.
>
> To add to the confusion, there is something like interacts for
> ipython, which is maybe somewhat different API-wise from what is in
> sage...
>
> http://nbviewer.ipython.org/github/ipython/ipython/blob/master/examples/Interactive%20Widgets/Index.ipynb

Right. The IPython interact system is what I've been working a lot on
for the last year. There is little to no documentation on it at this
point, and we're having a Google hangout about the scope of the IPython
interactive widget system next week.

Thanks,

Jason

Reply all
Reply to author
Forward
0 new messages