Re: show() function not found by the python interpreter after modifying the source code

2016-08-14 Thread Alexander Bezzubov
Thank you for detailed explanation, Alex! I see what you mean now and that
would be splendid to have such level of integration.

I think a very good start will be - to create an umbrella JIRA issue, put
the detailed description there, and then post the link to the dev@z.i.a.o
mailing list, moving further discussion there.

I have some experience with Python, but not familiar with internals of
matplotlib yet. Would be happy to help on the JVM\Javascript side of things.

--
Alex

On Sun, Aug 14, 2016 at 1:07 PM, Goodman, Alexander (398K) <
alexander.good...@jpl.nasa.gov> wrote:

> Hi Alex,
>
> On Sat, Aug 13, 2016 at 7:53 PM, Alexander Bezzubov 
> wrote:
>
> >
>
> > Hi Alex,
> > answer inline
> >
> > On Sat, Aug 13, 2016 at 1:15 PM, Goodman, Alexander (398K) <
> alexander.good...@jpl.nasa.gov> wrote:
>
> >>
>
> >> Thank you guys for the responses.
> >>
> >> I wonder how much the editor has to do with it since I was able to get
> my changes to work (ie the ones in my PR) after manually adding them in a
> vanilla editor (I was previously using Atom). However I did later have
> issues similar to those mentioned in ZEPPELIN-1133 when importing some
> notebooks that I had previously used with the pyspark interpreter in
> zeppelin 0.5 and replacing each cell with the python interpreter. If you
> are interested, I would be happy to share them with you.
> >
> >
> > It would be very appreciated indeed if you could followup on the issues
> that you had \w some reproducible examples i.e in comments in ZEPPELIN-1133
>
> Will do. I'll post the notebook in question in the JIRA thread a bit later
> and how to reproduce the errors I was getting.
>
>
> >
> >
>
> >> In general I also think we should continue to try taking matplotlib
> integration much further, hopefully to the point where its inline plotting
> features in zeppelin are comparable to those found in Jupyter.
>
>
> >
> >
> > I totally agree. Could you elaborate a bit on what "inline plotting
> features found in Jupyter" do you mean here?
>
> Essentially at we should continue to make matplotlib plotting feel more
> seamless. That means we should at the minimum try to accomplish what we
> have now using plt.show() instead of z.show(plt) (plt being
> matplotlib.pyplot of course). This will require implementing a custom
> matplotlib backend which defines the show() function specific for a
> zeppelin notebook. Jupyter / ipython accomplishes this through a custom
> "inline" matplotlib backend. It could also help pave the way for using
> matplotlib's interactive plotting features, which will require some
> javascript integration. matplotlib ships a backend that does this called
> "nbagg" which accomplishes this for Jupyter.
>
>
> >
> >
>
>
> >>
> >> The latter obviously has the advantage of having more direct python and
> javascript integration, but nonetheless this is a subject I would
> personally be very interested in exploring in more detail.
> >
> >
> > I'll be happy to help here, let's join forces. What kind of
> python\javascript integration do you think we should have in Apache
> Zeppelin? May be we should start a new thread discussing it in more details.
>
> Sure thing. Should I make a thread about this on the dev mailing list or
> make a new JIRA issue? I think I have already described the gist of it
> above, so for now I am thinking we should prioritize the potential
> development of a new matplotlib backend for zeppelin that shows static
> images. I am mainly a python specialist so I would be happy to collaborate.
>
>
>
> Thanks,
> Alex
> >> On Fri, Aug 12, 2016 at 8:53 PM, Alexander Bezzubov 
> wrote:
>
> >>>
>
> >>> Hi Alexander,
> >>>
> >>> thank you for contributing Matplotlib integration improvements!
> >>>
> >>> You are right, it's odd and this is not your text editor's fault - our
> current Python interpreter implementation is quite early stages and these
> are artefacts of the way it currently works. Sometimes it does not accept
> valid Python files [1].
> >>>
> >>> I'm working on improving it right now [2], by changing the underneath
> mechanism of communication with Python process, which should address this
> issues, as well as few others [3], like windows support, better error
> detection, etc.
> >>>
> >>> I hope to submit a PR next week, meanwhile the best way to debug your
> changes is to enable logging [4] by adding a line to log4j.properties "
> log4j.logger.org.apache.zeppelin.python.PythonInterpreter=DEBUG" (i.e by
> creating it in ./python/src/test/resources/ if you want it to work only in
> unit-tests, or just changing code to `log.warn` to always log it) in order
> to be able to see what exactly actual Python repl process is not happy
> about.
> >>>
> >>> Hope this helps!
> >>>
> >>>  1. https://issues.apache.org/jira/browse/ZEPPELIN-1133
> >>>  2. https://issues.apache.org/jira/browse/ZEPPELIN-1325
> >>>  3. https://issues.apache.org/jira/browse/ZEPPELIN-1133?jql=
> project%20%3D%20ZEPPELIN%20AND%20component%20%3D%
> 20python-interpreter

Re: show() function not found by the python interpreter after modifying the source code

2016-08-13 Thread Goodman, Alexander (398K)
Hi Alex,

On Sat, Aug 13, 2016 at 7:53 PM, Alexander Bezzubov  wrote:

>

> Hi Alex,
> answer inline
>
> On Sat, Aug 13, 2016 at 1:15 PM, Goodman, Alexander (398K) <
alexander.good...@jpl.nasa.gov> wrote:

>>

>> Thank you guys for the responses.
>>
>> I wonder how much the editor has to do with it since I was able to get
my changes to work (ie the ones in my PR) after manually adding them in a
vanilla editor (I was previously using Atom). However I did later have
issues similar to those mentioned in ZEPPELIN-1133 when importing some
notebooks that I had previously used with the pyspark interpreter in
zeppelin 0.5 and replacing each cell with the python interpreter. If you
are interested, I would be happy to share them with you.
>
>
> It would be very appreciated indeed if you could followup on the issues
that you had \w some reproducible examples i.e in comments in ZEPPELIN-1133

Will do. I'll post the notebook in question in the JIRA thread a bit later
and how to reproduce the errors I was getting.


>
>

>> In general I also think we should continue to try taking matplotlib
integration much further, hopefully to the point where its inline plotting
features in zeppelin are comparable to those found in Jupyter.


>
>
> I totally agree. Could you elaborate a bit on what "inline plotting
features found in Jupyter" do you mean here?

Essentially at we should continue to make matplotlib plotting feel more
seamless. That means we should at the minimum try to accomplish what we
have now using plt.show() instead of z.show(plt) (plt being
matplotlib.pyplot of course). This will require implementing a custom
matplotlib backend which defines the show() function specific for a
zeppelin notebook. Jupyter / ipython accomplishes this through a custom
"inline" matplotlib backend. It could also help pave the way for using
matplotlib's interactive plotting features, which will require some
javascript integration. matplotlib ships a backend that does this called
"nbagg" which accomplishes this for Jupyter.


>
>


>>
>> The latter obviously has the advantage of having more direct python and
javascript integration, but nonetheless this is a subject I would
personally be very interested in exploring in more detail.
>
>
> I'll be happy to help here, let's join forces. What kind of
python\javascript integration do you think we should have in Apache
Zeppelin? May be we should start a new thread discussing it in more details.

Sure thing. Should I make a thread about this on the dev mailing list or
make a new JIRA issue? I think I have already described the gist of it
above, so for now I am thinking we should prioritize the potential
development of a new matplotlib backend for zeppelin that shows static
images. I am mainly a python specialist so I would be happy to collaborate.



Thanks,
Alex
>> On Fri, Aug 12, 2016 at 8:53 PM, Alexander Bezzubov 
wrote:

>>>

>>> Hi Alexander,
>>>
>>> thank you for contributing Matplotlib integration improvements!
>>>
>>> You are right, it's odd and this is not your text editor's fault - our
current Python interpreter implementation is quite early stages and these
are artefacts of the way it currently works. Sometimes it does not accept
valid Python files [1].
>>>
>>> I'm working on improving it right now [2], by changing the underneath
mechanism of communication with Python process, which should address this
issues, as well as few others [3], like windows support, better error
detection, etc.
>>>
>>> I hope to submit a PR next week, meanwhile the best way to debug your
changes is to enable logging [4] by adding a line to log4j.properties "
log4j.logger.org.apache.zeppelin.python.PythonInterpreter=DEBUG" (i.e by
creating it in ./python/src/test/resources/ if you want it to work only in
unit-tests, or just changing code to `log.warn` to always log it) in order
to be able to see what exactly actual Python repl process is not happy
about.
>>>
>>> Hope this helps!
>>>
>>>  1. https://issues.apache.org/jira/browse/ZEPPELIN-1133
>>>  2. https://issues.apache.org/jira/browse/ZEPPELIN-1325
>>>  3.
https://issues.apache.org/jira/browse/ZEPPELIN-1133?jql=project%20%3D%20ZEPPELIN%20AND%20component%20%3D%20python-interpreter%20AND%20resolution%20%3D%20Unresolved
>>>  4.
https://github.com/apache/zeppelin/blob/master/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java#L221
>>>
>>> --
>>> Alex
>>>
>>> On Sat, Aug 13, 2016, 01:04 Goodman, Alexander (398K) <
alexander.good...@jpl.nasa.gov> wrote:



 An update: It seems like the problem might lie in my editor. After a
bit of hacking into the log fiIes, I found that there were several
IndentationErrors being reported, starting at the PyZeppelinContext
constructor, resulting in a seemingly empty class once bootstrap.py is
processed.  It's still odd because again I can import bootstrap.py in my
local python installation and use z.show() without IndentationErrors.

 On Fri, Aug 12, 2016 at 7:19 AM, Goodman, Alexander (398K) <
al

Re: show() function not found by the python interpreter after modifying the source code

2016-08-13 Thread Alexander Bezzubov
Hi Alex,
answer inline

On Sat, Aug 13, 2016 at 1:15 PM, Goodman, Alexander (398K)  wrote:

> Thank you guys for the responses.
>
> I wonder how much the editor has to do with it since I was able to get my
> changes to work (ie the ones in my PR) after manually adding them in a
> vanilla editor (I was previously using Atom). However I did later have
> issues similar to those mentioned in ZEPPELIN-1133 when importing some
> notebooks that I had previously used with the pyspark interpreter in
> zeppelin 0.5 and replacing each cell with the python interpreter. If you
> are interested, I would be happy to share them with you.
>

It would be very appreciated indeed if you could followup on the issues
that you had \w some reproducible examples i.e in comments in ZEPPELIN-1133

In general I also think we should continue to try taking matplotlib
> integration much further, hopefully to the point where its inline plotting
> features in zeppelin are comparable to those found in Jupyter.
>

I totally agree. Could you elaborate a bit on what "inline plotting
features found in Jupyter" do you mean here?


> The latter obviously has the advantage of having more direct python and
> javascript integration, but nonetheless this is a subject I would
> personally be very interested in exploring in more detail.
>

I'll be happy to help here, let's join forces. What kind of
python\javascript integration do you think we should have in Apache
Zeppelin? May be we should start a new thread discussing it in more details.


> Thanks,
> Alex
>
> On Fri, Aug 12, 2016 at 8:53 PM, Alexander Bezzubov 
> wrote:
>
>> Hi Alexander,
>>
>> thank you for contributing Matplotlib integration improvements!
>>
>> You are right, it's odd and this is not your text editor's fault - our
>> current Python interpreter implementation is quite early stages and these
>> are artefacts of the way it currently works. Sometimes it does not accept
>> valid Python files [1].
>>
>> I'm working on improving it right now [2], by changing the underneath
>> mechanism of communication with Python process, which should address this
>> issues, as well as few others [3], like windows support, better error
>> detection, etc.
>>
>> I hope to submit a PR next week, meanwhile the best way to debug your
>> changes is to enable logging [4] by adding a line to log4j.properties "
>> log4j.logger.org.apache.zeppelin.python.PythonInterpreter=DEBUG" (i.e by
>> creating it in ./python/src/test/resources/ if you want it to work only
>> in unit-tests, or just changing code to `log.warn` to always log it) in
>> order to be able to see what exactly actual Python repl process is not
>> happy about.
>>
>> Hope this helps!
>>
>>  1. https://issues.apache.org/jira/browse/ZEPPELIN-1133
>>  2. https://issues.apache.org/jira/browse/ZEPPELIN-1325
>>  3. https://issues.apache.org/jira/browse/ZEPPELIN-1133?jql=
>> project%20%3D%20ZEPPELIN%20AND%20component%20%3D%20python-in
>> terpreter%20AND%20resolution%20%3D%20Unresolved
>>  4. https://github.com/apache/zeppelin/blob/master/python/src
>> /main/java/org/apache/zeppelin/python/PythonInterpreter.java#L221
>>
>> --
>> Alex
>>
>> On Sat, Aug 13, 2016, 01:04 Goodman, Alexander (398K) > jpl.nasa.gov> wrote:
>>
>>> An update: It seems like the problem might lie in my editor. After a bit
>>> of hacking into the log fiIes, I found that there were several
>>> IndentationErrors being reported, starting at the PyZeppelinContext
>>> constructor, resulting in a seemingly empty class once bootstrap.py is
>>> processed.  It's still odd because again I can import bootstrap.py in my
>>> local python installation and use z.show() without IndentationErrors.
>>>
>>> On Fri, Aug 12, 2016 at 7:19 AM, Goodman, Alexander (398K) <
>>> alexander.good...@jpl.nasa.gov> wrote:
>>>
 Hi,

 I am attempting to improve the matplotlib plotting capabilities in the
 python interpreter (see the ZEPPELIN-1318 JIRA issue) and have ran into
 some issues. Specifically, after saving my changes to bootstrap.py and
 rebuilding, I get the following error message after running the unit tests:

 AttributeError: 'PyZeppelinContext' object has no attribute 'show' 
 expected: but was:

   PythonInterpreterPandasSqlTest.sqlOverTestDataPrintsTable:129 Traceback 
 (most recent call last):

   File "", line 1, in 

 The same error message also appeared when I attempted to run the simple
 matplotlib example notebook. This seems to happen if I make any changes to
 the show_matplotlib() method in bootstrap.py, including one line changes
 that don't actually do anything. I also tested the module for syntax errors
 in my local python installation and everything seems to check out, so I
 can't understand where the problem lies. I am fairly certain my changes are
 sound (see [1]). I tested this for a zeppelin build without any additional
 options (mvn clean package -DskipTests) both with the modified and
 unmodi

Re: show() function not found by the python interpreter after modifying the source code

2016-08-12 Thread Goodman, Alexander (398K)
Hi Paul,

Thank you very much for the useful tip!

Alex

On Fri, Aug 12, 2016 at 9:36 PM, Paul Bustios Belizario 
wrote:

> You could check this [0] to avoid deleting spaces in blank lines after
> saving a file in Atom.
>
> [0] http://superuser.com/questions/961352/atom-automatically-removing-
> trailing-spaces
>
> Regards,
> Paul
>
> On Sat, Aug 13, 2016 at 1:15 AM Goodman, Alexander (398K) <
> alexander.good...@jpl.nasa.gov> wrote:
>
>> Thank you guys for the responses.
>>
>> I wonder how much the editor has to do with it since I was able to get my
>> changes to work (ie the ones in my PR) after manually adding them in a
>> vanilla editor (I was previously using Atom). However I did later have
>> issues similar to those mentioned in ZEPPELIN-1133 when importing some
>> notebooks that I had previously used with the pyspark interpreter in
>> zeppelin 0.5 and replacing each cell with the python interpreter. If you
>> are interested, I would be happy to share them with you.
>>
>> In general I also think we should continue to try taking matplotlib
>> integration much further, hopefully to the point where its inline plotting
>> features in zeppelin are comparable to those found in Jupyter. The latter
>> obviously has the advantage of having more direct python and javascript
>> integration, but nonetheless this is a subject I would personally be very
>> interested in exploring in more detail.
>>
>> Thanks,
>> Alex
>>
>> On Fri, Aug 12, 2016 at 8:53 PM, Alexander Bezzubov 
>> wrote:
>>
>>> Hi Alexander,
>>>
>>> thank you for contributing Matplotlib integration improvements!
>>>
>>> You are right, it's odd and this is not your text editor's fault - our
>>> current Python interpreter implementation is quite early stages and these
>>> are artefacts of the way it currently works. Sometimes it does not accept
>>> valid Python files [1].
>>>
>>> I'm working on improving it right now [2], by changing the underneath
>>> mechanism of communication with Python process, which should address this
>>> issues, as well as few others [3], like windows support, better error
>>> detection, etc.
>>>
>>> I hope to submit a PR next week, meanwhile the best way to debug your
>>> changes is to enable logging [4] by adding a line to log4j.properties "
>>> log4j.logger.org.apache.zeppelin.python.PythonInterpreter=DEBUG" (i.e
>>> by creating it in ./python/src/test/resources/ if you want it to work
>>> only in unit-tests, or just changing code to `log.warn` to always log it)
>>> in order to be able to see what exactly actual Python repl process is
>>> not happy about.
>>>
>>> Hope this helps!
>>>
>>>  1. https://issues.apache.org/jira/browse/ZEPPELIN-1133
>>>  2. https://issues.apache.org/jira/browse/ZEPPELIN-1325
>>>  3. https://issues.apache.org/jira/browse/ZEPPELIN-1133?jql=
>>> project%20%3D%20ZEPPELIN%20AND%20component%20%3D%
>>> 20python-interpreter%20AND%20resolution%20%3D%20Unresolved
>>>  4. https://github.com/apache/zeppelin/blob/master/python/src
>>> /main/java/org/apache/zeppelin/python/PythonInterpreter.java#L221
>>>
>>> --
>>> Alex
>>>
>>
>>> On Sat, Aug 13, 2016, 01:04 Goodman, Alexander (398K) >> @jpl.nasa.gov> wrote:
>>>
 An update: It seems like the problem might lie in my editor. After a
 bit of hacking into the log fiIes, I found that there were several
 IndentationErrors being reported, starting at the PyZeppelinContext
 constructor, resulting in a seemingly empty class once bootstrap.py is
 processed.  It's still odd because again I can import bootstrap.py in my
 local python installation and use z.show() without IndentationErrors.

 On Fri, Aug 12, 2016 at 7:19 AM, Goodman, Alexander (398K) <
 alexander.good...@jpl.nasa.gov> wrote:

> Hi,
>
> I am attempting to improve the matplotlib plotting capabilities in the
> python interpreter (see the ZEPPELIN-1318 JIRA issue) and have ran into
> some issues. Specifically, after saving my changes to bootstrap.py and
> rebuilding, I get the following error message after running the unit 
> tests:
>
> AttributeError: 'PyZeppelinContext' object has no attribute 'show' 
> expected: but was:
>
>   PythonInterpreterPandasSqlTest.sqlOverTestDataPrintsTable:129 Traceback 
> (most recent call last):
>
>   File "", line 1, in 
>
> The same error message also appeared when I attempted to run the
> simple matplotlib example notebook. This seems to happen if I make any
> changes to the show_matplotlib() method in bootstrap.py, including one 
> line
> changes that don't actually do anything. I also tested the module for
> syntax errors in my local python installation and everything seems to 
> check
> out, so I can't understand where the problem lies. I am fairly certain my
> changes are sound (see [1]). I tested this for a zeppelin build without 
> any
> additional options (mvn clean package -DskipTests) both with the modified
> and unmod

Re: show() function not found by the python interpreter after modifying the source code

2016-08-12 Thread Paul Bustios Belizario
You could check this [0] to avoid deleting spaces in blank lines after
saving a file in Atom.

[0]
http://superuser.com/questions/961352/atom-automatically-removing-trailing-spaces

Regards,
Paul

On Sat, Aug 13, 2016 at 1:15 AM Goodman, Alexander (398K) <
alexander.good...@jpl.nasa.gov> wrote:

> Thank you guys for the responses.
>
> I wonder how much the editor has to do with it since I was able to get my
> changes to work (ie the ones in my PR) after manually adding them in a
> vanilla editor (I was previously using Atom). However I did later have
> issues similar to those mentioned in ZEPPELIN-1133 when importing some
> notebooks that I had previously used with the pyspark interpreter in
> zeppelin 0.5 and replacing each cell with the python interpreter. If you
> are interested, I would be happy to share them with you.
>
> In general I also think we should continue to try taking matplotlib
> integration much further, hopefully to the point where its inline plotting
> features in zeppelin are comparable to those found in Jupyter. The latter
> obviously has the advantage of having more direct python and javascript
> integration, but nonetheless this is a subject I would personally be very
> interested in exploring in more detail.
>
> Thanks,
> Alex
>
> On Fri, Aug 12, 2016 at 8:53 PM, Alexander Bezzubov 
> wrote:
>
>> Hi Alexander,
>>
>> thank you for contributing Matplotlib integration improvements!
>>
>> You are right, it's odd and this is not your text editor's fault - our
>> current Python interpreter implementation is quite early stages and these
>> are artefacts of the way it currently works. Sometimes it does not accept
>> valid Python files [1].
>>
>> I'm working on improving it right now [2], by changing the underneath
>> mechanism of communication with Python process, which should address this
>> issues, as well as few others [3], like windows support, better error
>> detection, etc.
>>
>> I hope to submit a PR next week, meanwhile the best way to debug your
>> changes is to enable logging [4] by adding a line to log4j.properties "
>> log4j.logger.org.apache.zeppelin.python.PythonInterpreter=DEBUG" (i.e by
>> creating it in ./python/src/test/resources/ if you want it to work only
>> in unit-tests, or just changing code to `log.warn` to always log it) in
>> order to be able to see what exactly actual Python repl process is not
>> happy about.
>>
>> Hope this helps!
>>
>>  1. https://issues.apache.org/jira/browse/ZEPPELIN-1133
>>  2. https://issues.apache.org/jira/browse/ZEPPELIN-1325
>>  3. https://issues.apache.org/jira/browse/ZEPPELIN-1133?jql
>> =project%20%3D%20ZEPPELIN%20AND%20component%20%3D%20python-interpreter%20AND%20resolution%20%3D%20Unresolved
>>  4. https://github.com/apache/zeppelin/blob/master/python/src
>> /main/java/org/apache/zeppelin/python/PythonInterpreter.java#L221
>>
>> --
>> Alex
>>
>
>> On Sat, Aug 13, 2016, 01:04 Goodman, Alexander (398K) > jpl.nasa.gov> wrote:
>>
>>> An update: It seems like the problem might lie in my editor. After a bit
>>> of hacking into the log fiIes, I found that there were several
>>> IndentationErrors being reported, starting at the PyZeppelinContext
>>> constructor, resulting in a seemingly empty class once bootstrap.py is
>>> processed.  It's still odd because again I can import bootstrap.py in my
>>> local python installation and use z.show() without IndentationErrors.
>>>
>>> On Fri, Aug 12, 2016 at 7:19 AM, Goodman, Alexander (398K) <
>>> alexander.good...@jpl.nasa.gov> wrote:
>>>
 Hi,

 I am attempting to improve the matplotlib plotting capabilities in the
 python interpreter (see the ZEPPELIN-1318 JIRA issue) and have ran into
 some issues. Specifically, after saving my changes to bootstrap.py and
 rebuilding, I get the following error message after running the unit tests:

 AttributeError: 'PyZeppelinContext' object has no attribute 'show' 
 expected: but was:

   PythonInterpreterPandasSqlTest.sqlOverTestDataPrintsTable:129 Traceback 
 (most recent call last):

   File "", line 1, in 

 The same error message also appeared when I attempted to run the simple
 matplotlib example notebook. This seems to happen if I make any changes to
 the show_matplotlib() method in bootstrap.py, including one line changes
 that don't actually do anything. I also tested the module for syntax errors
 in my local python installation and everything seems to check out, so I
 can't understand where the problem lies. I am fairly certain my changes are
 sound (see [1]). I tested this for a zeppelin build without any additional
 options (mvn clean package -DskipTests) both with the modified and
 unmodified source code, the latter having no issues.

 [1] -
 https://github.com/agoodm/zeppelin/commit/10c06a9ceb7be94085ea39ebaad8beab7e0ff024

 Any help would be appreciated.

 Thanks,
 Alex

 --
 Alex Goodman
 Data Scientist 

Re: show() function not found by the python interpreter after modifying the source code

2016-08-12 Thread Goodman, Alexander (398K)
Thank you guys for the responses.

I wonder how much the editor has to do with it since I was able to get my
changes to work (ie the ones in my PR) after manually adding them in a
vanilla editor (I was previously using Atom). However I did later have
issues similar to those mentioned in ZEPPELIN-1133 when importing some
notebooks that I had previously used with the pyspark interpreter in
zeppelin 0.5 and replacing each cell with the python interpreter. If you
are interested, I would be happy to share them with you.

In general I also think we should continue to try taking matplotlib
integration much further, hopefully to the point where its inline plotting
features in zeppelin are comparable to those found in Jupyter. The latter
obviously has the advantage of having more direct python and javascript
integration, but nonetheless this is a subject I would personally be very
interested in exploring in more detail.

Thanks,
Alex

On Fri, Aug 12, 2016 at 8:53 PM, Alexander Bezzubov  wrote:

> Hi Alexander,
>
> thank you for contributing Matplotlib integration improvements!
>
> You are right, it's odd and this is not your text editor's fault - our
> current Python interpreter implementation is quite early stages and these
> are artefacts of the way it currently works. Sometimes it does not accept
> valid Python files [1].
>
> I'm working on improving it right now [2], by changing the underneath
> mechanism of communication with Python process, which should address this
> issues, as well as few others [3], like windows support, better error
> detection, etc.
>
> I hope to submit a PR next week, meanwhile the best way to debug your
> changes is to enable logging [4] by adding a line to log4j.properties "
> log4j.logger.org.apache.zeppelin.python.PythonInterpreter=DEBUG" (i.e by
> creating it in ./python/src/test/resources/ if you want it to work only
> in unit-tests, or just changing code to `log.warn` to always log it) in
> order to be able to see what exactly actual Python repl process is not
> happy about.
>
> Hope this helps!
>
>  1. https://issues.apache.org/jira/browse/ZEPPELIN-1133
>  2. https://issues.apache.org/jira/browse/ZEPPELIN-1325
>  3. https://issues.apache.org/jira/browse/ZEPPELIN-1133?jql=
> project%20%3D%20ZEPPELIN%20AND%20component%20%3D%20python-
> interpreter%20AND%20resolution%20%3D%20Unresolved
>  4. https://github.com/apache/zeppelin/blob/master/python/src
> /main/java/org/apache/zeppelin/python/PythonInterpreter.java#L221
>
> --
> Alex
>
> On Sat, Aug 13, 2016, 01:04 Goodman, Alexander (398K)  jpl.nasa.gov> wrote:
>
>> An update: It seems like the problem might lie in my editor. After a bit
>> of hacking into the log fiIes, I found that there were several
>> IndentationErrors being reported, starting at the PyZeppelinContext
>> constructor, resulting in a seemingly empty class once bootstrap.py is
>> processed.  It's still odd because again I can import bootstrap.py in my
>> local python installation and use z.show() without IndentationErrors.
>>
>> On Fri, Aug 12, 2016 at 7:19 AM, Goodman, Alexander (398K) <
>> alexander.good...@jpl.nasa.gov> wrote:
>>
>>> Hi,
>>>
>>> I am attempting to improve the matplotlib plotting capabilities in the
>>> python interpreter (see the ZEPPELIN-1318 JIRA issue) and have ran into
>>> some issues. Specifically, after saving my changes to bootstrap.py and
>>> rebuilding, I get the following error message after running the unit tests:
>>>
>>> AttributeError: 'PyZeppelinContext' object has no attribute 'show' 
>>> expected: but was:
>>>
>>>   PythonInterpreterPandasSqlTest.sqlOverTestDataPrintsTable:129 Traceback 
>>> (most recent call last):
>>>
>>>   File "", line 1, in 
>>>
>>> The same error message also appeared when I attempted to run the simple
>>> matplotlib example notebook. This seems to happen if I make any changes to
>>> the show_matplotlib() method in bootstrap.py, including one line changes
>>> that don't actually do anything. I also tested the module for syntax errors
>>> in my local python installation and everything seems to check out, so I
>>> can't understand where the problem lies. I am fairly certain my changes are
>>> sound (see [1]). I tested this for a zeppelin build without any additional
>>> options (mvn clean package -DskipTests) both with the modified and
>>> unmodified source code, the latter having no issues.
>>>
>>> [1] - https://github.com/agoodm/zeppelin/commit/10c06a9ceb7be940
>>> 85ea39ebaad8beab7e0ff024
>>>
>>> Any help would be appreciated.
>>>
>>> Thanks,
>>> Alex
>>>
>>> --
>>> Alex Goodman
>>> Data Scientist I
>>> Science Data Modeling and Computing (398K)
>>> Jet Propulsion Laboratory
>>> California Institute of Technology
>>> Tel: +1-818-354-6012
>>>
>>
>>
>>
>> --
>> Alex Goodman
>> Data Scientist I
>> Science Data Modeling and Computing (398K)
>> Jet Propulsion Laboratory
>> California Institute of Technology
>> Tel: +1-818-354-6012
>>
>


-- 
Alex Goodman
Data Scientist I
Science Data Modeling and Computing (398K)

Re: show() function not found by the python interpreter after modifying the source code

2016-08-12 Thread Alexander Bezzubov
Hi Alexander,

thank you for contributing Matplotlib integration improvements!

You are right, it's odd and this is not your text editor's fault - our
current Python interpreter implementation is quite early stages and these
are artefacts of the way it currently works. Sometimes it does not accept
valid Python files [1].

I'm working on improving it right now [2], by changing the underneath
mechanism of communication with Python process, which should address this
issues, as well as few others [3], like windows support, better error
detection, etc.

I hope to submit a PR next week, meanwhile the best way to debug your
changes is to enable logging [4] by adding a line to log4j.properties "
log4j.logger.org.apache.zeppelin.python.PythonInterpreter=DEBUG" (i.e by
creating it in ./python/src/test/resources/ if you want it to work only in
unit-tests, or just changing code to `log.warn` to always log it) in order
to be able to see what exactly actual Python repl process is not happy
about.

Hope this helps!

 1. https://issues.apache.org/jira/browse/ZEPPELIN-1133
 2. https://issues.apache.org/jira/browse/ZEPPELIN-1325
 3. https://issues.apache.org/jira/browse/ZEPPELIN-1133?jql=
project%20%3D%20ZEPPELIN%20AND%20component%20%3D%20python-interpreter%20AND%
20resolution%20%3D%20Unresolved
 4. https://github.com/apache/zeppelin/blob/master/python/src/main/java/org/
apache/zeppelin/python/PythonInterpreter.java#L221

--
Alex

On Sat, Aug 13, 2016, 01:04 Goodman, Alexander (398K)  wrote:

> An update: It seems like the problem might lie in my editor. After a bit
> of hacking into the log fiIes, I found that there were several
> IndentationErrors being reported, starting at the PyZeppelinContext
> constructor, resulting in a seemingly empty class once bootstrap.py is
> processed.  It's still odd because again I can import bootstrap.py in my
> local python installation and use z.show() without IndentationErrors.
>
> On Fri, Aug 12, 2016 at 7:19 AM, Goodman, Alexander (398K) <
> alexander.good...@jpl.nasa.gov> wrote:
>
>> Hi,
>>
>> I am attempting to improve the matplotlib plotting capabilities in the
>> python interpreter (see the ZEPPELIN-1318 JIRA issue) and have ran into
>> some issues. Specifically, after saving my changes to bootstrap.py and
>> rebuilding, I get the following error message after running the unit tests:
>>
>> AttributeError: 'PyZeppelinContext' object has no attribute 'show' 
>> expected: but was:
>>
>>   PythonInterpreterPandasSqlTest.sqlOverTestDataPrintsTable:129 Traceback 
>> (most recent call last):
>>
>>   File "", line 1, in 
>>
>> The same error message also appeared when I attempted to run the simple
>> matplotlib example notebook. This seems to happen if I make any changes to
>> the show_matplotlib() method in bootstrap.py, including one line changes
>> that don't actually do anything. I also tested the module for syntax errors
>> in my local python installation and everything seems to check out, so I
>> can't understand where the problem lies. I am fairly certain my changes are
>> sound (see [1]). I tested this for a zeppelin build without any additional
>> options (mvn clean package -DskipTests) both with the modified and
>> unmodified source code, the latter having no issues.
>>
>> [1] - https://github.com/agoodm/zeppelin/commit/10c06a9ceb7be940
>> 85ea39ebaad8beab7e0ff024
>>
>> Any help would be appreciated.
>>
>> Thanks,
>> Alex
>>
>> --
>> Alex Goodman
>> Data Scientist I
>> Science Data Modeling and Computing (398K)
>> Jet Propulsion Laboratory
>> California Institute of Technology
>> Tel: +1-818-354-6012
>>
>
>
>
> --
> Alex Goodman
> Data Scientist I
> Science Data Modeling and Computing (398K)
> Jet Propulsion Laboratory
> California Institute of Technology
> Tel: +1-818-354-6012
>


Re: show() function not found by the python interpreter after modifying the source code

2016-08-12 Thread Paul Bustios Belizario
Hi Alexander,

Python interpreter uses a REPL interactive environment to evaluate code, so
the problem was that your editor was deleting some lines with only
indentation spaces needed to define the scope of the PyZeppelinContext
class in the REPL environment, and that's why there are no problems
when you import bootstrap.py your my local python installation.

Regards,
Paul

On Fri, Aug 12, 2016 at 1:04 PM Goodman, Alexander (398K) <
alexander.good...@jpl.nasa.gov> wrote:

> An update: It seems like the problem might lie in my editor. After a bit
> of hacking into the log fiIes, I found that there were several
> IndentationErrors being reported, starting at the PyZeppelinContext
> constructor, resulting in a seemingly empty class once bootstrap.py is
> processed.  It's still odd because again I can import bootstrap.py in my
> local python installation and use z.show() without IndentationErrors.
>
> On Fri, Aug 12, 2016 at 7:19 AM, Goodman, Alexander (398K) <
> alexander.good...@jpl.nasa.gov> wrote:
>
>> Hi,
>>
>> I am attempting to improve the matplotlib plotting capabilities in the
>> python interpreter (see the ZEPPELIN-1318 JIRA issue) and have ran into
>> some issues. Specifically, after saving my changes to bootstrap.py and
>> rebuilding, I get the following error message after running the unit tests:
>>
>> AttributeError: 'PyZeppelinContext' object has no attribute 'show' 
>> expected: but was:
>>
>>   PythonInterpreterPandasSqlTest.sqlOverTestDataPrintsTable:129 Traceback 
>> (most recent call last):
>>
>>   File "", line 1, in 
>>
>> The same error message also appeared when I attempted to run the simple
>> matplotlib example notebook. This seems to happen if I make any changes to
>> the show_matplotlib() method in bootstrap.py, including one line changes
>> that don't actually do anything. I also tested the module for syntax errors
>> in my local python installation and everything seems to check out, so I
>> can't understand where the problem lies. I am fairly certain my changes are
>> sound (see [1]). I tested this for a zeppelin build without any additional
>> options (mvn clean package -DskipTests) both with the modified and
>> unmodified source code, the latter having no issues.
>>
>> [1] -
>> https://github.com/agoodm/zeppelin/commit/10c06a9ceb7be94085ea39ebaad8beab7e0ff024
>>
>> Any help would be appreciated.
>>
>> Thanks,
>> Alex
>>
>> --
>> Alex Goodman
>> Data Scientist I
>> Science Data Modeling and Computing (398K)
>> Jet Propulsion Laboratory
>> California Institute of Technology
>> Tel: +1-818-354-6012
>>
>
>
>
> --
> Alex Goodman
> Data Scientist I
> Science Data Modeling and Computing (398K)
> Jet Propulsion Laboratory
> California Institute of Technology
> Tel: +1-818-354-6012
>


Re: show() function not found by the python interpreter after modifying the source code

2016-08-12 Thread Goodman, Alexander (398K)
An update: It seems like the problem might lie in my editor. After a bit of
hacking into the log fiIes, I found that there were several
IndentationErrors being reported, starting at the PyZeppelinContext
constructor, resulting in a seemingly empty class once bootstrap.py is
processed.  It's still odd because again I can import bootstrap.py in my
local python installation and use z.show() without IndentationErrors.

On Fri, Aug 12, 2016 at 7:19 AM, Goodman, Alexander (398K) <
alexander.good...@jpl.nasa.gov> wrote:

> Hi,
>
> I am attempting to improve the matplotlib plotting capabilities in the
> python interpreter (see the ZEPPELIN-1318 JIRA issue) and have ran into
> some issues. Specifically, after saving my changes to bootstrap.py and
> rebuilding, I get the following error message after running the unit tests:
>
> AttributeError: 'PyZeppelinContext' object has no attribute 'show' 
> expected: but was:
>
>   PythonInterpreterPandasSqlTest.sqlOverTestDataPrintsTable:129 Traceback 
> (most recent call last):
>
>   File "", line 1, in 
>
> The same error message also appeared when I attempted to run the simple
> matplotlib example notebook. This seems to happen if I make any changes to
> the show_matplotlib() method in bootstrap.py, including one line changes
> that don't actually do anything. I also tested the module for syntax errors
> in my local python installation and everything seems to check out, so I
> can't understand where the problem lies. I am fairly certain my changes are
> sound (see [1]). I tested this for a zeppelin build without any additional
> options (mvn clean package -DskipTests) both with the modified and
> unmodified source code, the latter having no issues.
>
> [1] - https://github.com/agoodm/zeppelin/commit/10c06a9ceb7be940
> 85ea39ebaad8beab7e0ff024
>
> Any help would be appreciated.
>
> Thanks,
> Alex
>
> --
> Alex Goodman
> Data Scientist I
> Science Data Modeling and Computing (398K)
> Jet Propulsion Laboratory
> California Institute of Technology
> Tel: +1-818-354-6012
>



-- 
Alex Goodman
Data Scientist I
Science Data Modeling and Computing (398K)
Jet Propulsion Laboratory
California Institute of Technology
Tel: +1-818-354-6012