On Wed, Dec 10, 2014 at 7:56 PM, Gonzalo A. PEÑA CASTELLANOS
<goanp...@gmail.com> wrote:
> Hi guys, I have been discussing with some lecturers in my institute on how
> to go on moving more people over python and spyder to improve our students
> workflows and I was wondering what steps we should be taking to further
> boost the adoption of spyder.

After erasing my current config, after opening spyder for the first
time, I think some work could be done optimizing the initial
experience.  This includes the initial selection of panels, the
initial layout of panels, and making sure the panels don't expose too
much or too little to users.

Aside from that, the big issue for me is how spyder handles
"projects".  These all have to be in subdirectories of one central
directory, as near as I can tell.  I don't organize my work that way,
which means that spyder is a non-started as my primary IDE.  I have to
use one that allows projects in arbitrary locations (kdevelop in my
case).  It probably makes things easier for people starting out, but I
think limits it greatly as a serious IDE.  I think spyder should
certainly have a default directory for saving files and new projects,
but this shouldn't be a special directory otherwise.  Settings should
all be stored either in the spyder config directory or in the project
directories themselves, not in the default directory, and projects
should just be directories with some hidden spyder file or directory
in it (tracked somewhere in the spyder configuration directory).  This
would also imply, of course, importing existing directories without
moving or copying them (just put the hidden spyder file in it and
remember it somewhere in the spyder config directory).

The lack of VCS integration (particularly git and hg in terms of
python) also make spyder a non-started for a lot of python
development, and increasingly scientific development (our group
recently got its own git server).

On the other hand, things important to Python are much harder than
they really need to be to make spyder useful as a primary python
shell.  The primary issue I have is configuring default imports.
There is no real way to configure the imports for the default console
other than manually editing a file, and even the ipython shell only
has support for "pylab" mode and manually entering the imports (and
"pylab" mode is an approach that is discouraged by pretty much
everyone everywhere).  There isn't even an obvious way to select an
ipython session.

So in this regard, I have some suggestions:
1. Import the more standard python scientific packages by default (as
long as they are installed).  At the very least this would include
numpy, scipy, matplotlib, and pandas, but could also include things
like sympy, scikit-learn, and/or statsmodels.

2. Import them into their own namespaces using the format normally
found in documentation ("import numpy as np", "import scipy as sp",
"import matplotlib.pyplot as plt", "import pandas as pd", etc.).  Only
import numpy's "r_" into the global namespace (so "from numpy import
r_").

3. Make it easy to change what is imported.  At the very least, have
an "imports" interface where you can check or uncheck any of these.
Better yet, scan for installed packages and let users check or uncheck
any package (and perhaps even set an alias for them, although this
might be too complicated for such an interface).

4. Ideally, use ipython sessions for this behind the scenes, and let
users choose the session when opening a new ipython tab.

> There was some talk on other threads on maybe making a proper website and
> improving it, including social media (twitter), improve documentation and
> tutorials (via youtube/ vimeo) etc...

In terms of the website, here is an example of one I thought was
attractive while still being useful:

http://www.expyriment.org/

> I know a lot of us use spyder and will most likely keep using it on years to
> come (hopefully :) ) but I cant help but notice that in all
> pydata/**enter_name_of_python_ conferece_here** you see always ipython
> notebooks as the main material/tool, and spyder seems to be forgotten along
> the way. With the inclusion of ipython nb editor inside spyder this
> situation could improve, but how could we tackle this issue?

Yes, it seems that the scientific python ecosystem is standarizing on
the ipython notebook.  So being able to use the ipython notebook in
spyder (qtwebkit, maybe?) seems to be getting more and more important
for spyder's success.  The ipython notebook has some limitations that
spyder could address (lack of a variable explorer, lack of any real
debuggin system, etc).

> I bring webdev, because I am finding myself more and more often thinking and
> trying to develop (not yet developing anything serious) web
> services/backends (django...) for apps in plans, that are also part of data
> science and my scientific workflow.

Using web-based interfaces seems to be becoming more popular in
science.  Supporting this sort of workflow (perhaps by being able to
embed a QtWebkit interface?) would probably be worthwhile.  However, a
lot of the web-based interfaces seems to support interaction through
the ipython notebook, so perhaps using the ipython notebook as a
console would be sufficient for these purposes.

-- 
You received this message because you are subscribed to the Google Groups 
"spyder" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to spyderlib+unsubscr...@googlegroups.com.
To post to this group, send email to spyderlib@googlegroups.com.
Visit this group at http://groups.google.com/group/spyderlib.
For more options, visit https://groups.google.com/d/optout.

Reply via email to