Pipes

Laura Creighton lac at openend.se
Tue Aug 11 05:07:57 EDT 2015


In a message of Mon, 10 Aug 2015 15:43:26 -0500, "E.D.G." writes:
>       I needed a program that could generate data regarding the locations 
>of the sun and the moon in the sky in response to specific times entered. 
>Roger developed the basic equations with some help from another researcher. 
>And that took a while.  But it probably took a full six months for us to 
>compare notes by E-mail and get the program into a final form that people 
>could download for free use.

I see a pattern here.  You and Roger keep coming up with cool ideas,
but neglect to check if _somebody else already had them_ and if we
already have a Python package that does what you want to do.

We've got, for instance, PyEphem http://rhodesmill.org/pyephem/tutorial.html
and if that doesn't already do what you want, well there are other choices
that astronomers are using all the time, right now.  Wrapping a giu around
PyEphem, if that is what you want is a job that can be measured in
hours or days if you are a proficient Python programmer.

>       That is just too much time.  Researchers need to be able to do things 
>such as create simple charts etc. without spending months or years learning 
>some programming language or comparing notes with one another.  So, an 
>entire Python directory that made that possible and that had clear 
>instructions for how to open and close files and create "pipes" etc. would 
>get the job done.

We've already got this with the Scientific Python distribution.
For more than 20 years, thousands, tens of thousands of scientist-python
programmers have been beavering away writing solutions to the problems
you mention and others that are, as you say, deeply important to them.
I am sorry that you came to this party late, but the good news is that
you should be able to get what you want with a whole lot less work than
you think.

What you need to do is familiarise yourself with what we already
got, instead of assuming that because you don't know about them, they
don't exist.  One of the ways to do this is to join scientific python
mailing lists.  **This list isn't one of them.**  Scientists who use
Python mostly _do not hang out here_.

I'd join Scipy-Users: http://www.scipy.org/scipylib/mailing-lists.html
or hang out on the freenode irc channel #scipy and tell the people
both places that you are new to python and are looking for an overview
of what there is out there.  Maybe post the same thing to the Anaconda
Google group.
https://groups.google.com/a/continuum.io/forum/?fromgroups#!forum/anaconda

The scientists in all of these places are going to give you better
answers for how to familiarise yourself with their ecosystem than I
can -- they _live_ there, and I just vist sometimes.

>
>       If Roger wants to use Python then we might use the ActiveState 
>version and then build those various resources into it.  It reportedly 
>installs in a Windows environment without problems.  And I myself have used 
>the ActiveState versions of Perl for quite a few years with a considerable 
>amount of success.

If you want to write more tutorials about how to use the various Python
resources we already have, then more power to you, we always need more
of that.  But if you plan on redoing stuff we already have a way to do,
then you are likely to be ignored.

The usual thing to do is to join some existing Python project, and
contribute your ideas and code to it.  So, since you are interested in
graphics you might join the matplotlib group.  Or you might join the
bokeh group.  It's not impossible to start your own project -- the
bokeh people did, after all, but this pretty much only works if you
address a real problem that isn't being met by the existing libraries.
For instance, the bokeh people wanted to make an interactive
visualisation library that targets modern web browsers.  It sounds
like you are interested in that as well, but the bokeh people are way,
way, way ahead of you in that business.  There are more of them, and
they have been writing code to improve how they do things every day
now since 2012 (at least that what their license says).  So you aren't
going to catch them with your new project.  If it turns out they are
unable to do something that you need, the thing to do is to join the
project and help them by implementing that stuff so it can be added to
the library.

>       This assumes that the ActiveState version of Python can be taught to 
>do fast calculations and to generate charts.  If that does not look possible 
>or easy then we will probably try one of the available scientific versions 
>of Python.

You are misunderstanding something here.  You don't need to teach
ActiveState Python to do fast calculations and generate
charts. Somebody already has done this, in a variety of ways, some of
which have worked for more than a decade, I think more than 15 years
now.  And that is where numpy comes in -- this is one of the ways to
teach Python to do faster calculations.  So is Cython.  So is Numba.
The reason you would go for a scientific version of python, as opposed
to ActiveStates is because you will conveniently have most of the
tools that you need for generating charts and doing fast calculations
already there.  You can add them individually one at a time to
ActiveState's Python, but that is just more work for you.

But the real reason that you need to start playing with and using a
scientific version of Python and, for instance bokeh and matplotlib
is to get a sense of what it is we already can do, and are doing right
now so you don't waste your time writing 'a poor man's version of X'
because you didn't know that X existed in the first place.

Coming back with 'well, ActiveState's Python didn't do this, so I
didn't know it was there' isn't going to cut it.  ActiveState is not
in the business of producing Python distributiuons for Scientists.
Enthought and Continuum Analytics are.

Laura




More information about the Python-list mailing list