Hi,
On 01/14/2012 08:22 PM, Maciej Fijalkowski wrote:
Hi Dmitrey.

Let me answer your questions one by one.

On Thu, Jan 12, 2012 at 11:42 AM, Dmitrey<[email protected]>  wrote:
hi all,

I would like to make some propositions wrt NumPy port development:

1) It would be nice to have a build and/or install parameter to available
usage of numpypy as numpy, e.g. "setup.py build --numpypy_as_numpy". I know
it can be done via some tricks, but explicit parameter would be better,
especially for unexperienced users.
We can trivially have such a package on cheeseshop. It would do: from
numpypy import *. You can even create your own package called numpy.py
and put it somewhere on PYTHONPATH to achieve the same result.
As a programmer with essential Python experience I could make it done quite easily, but I guess many Python/NumPy teachers/students and other Python newbies will found easier to use other Python distributions like EPD, Sage or PythonXY, than process on PyPy installation with rasp. Well, it's up to you, of course.

2) Many soft packages have some basic functionality without full numpy port,
but due to importing issues they cannot yield even it. For example:
from numpy import some_func, a_rare_func_unimplemented_in_pypy_yet
...
if user_want_this:
    some_func()
elif user_want_some_rare_possibility:
    a_rare_func_unimplemented_in_pypy_yet()

It would be nice to have possibility to install PyPy NumPy port with all
unimplemented yet functions as stubs, e.g.
def flipud(*args,**kw):
    raise numpy_absent_exception('flipud is unimplemented yet')

(and similar stubs for ndarray and matrix methods)
This is IMO a very bad idea. It pushes back the problem from import
time to some later time, while effectively not fixing it. I would say
just "wait a bit" or make your package cooperate with numpypy now, but
we expect new functionality to appear relatively rapidly.
I haven't said to make this default behaviour, I mere proposed to have a *possibility* for installation of numpypy that will like this. Than people could estimate difference of CPython and PyPy speed on (initially) limited set of tests and, being impressed, contribute some code or maybe even financial support to your project to accomplish NumPy and probably furthermore SciPy port.


3) Last but not least; I'm author and developer of openopt suite
(openopt.org with ~ 200 visitors daily, that is AFAIK about 10% of
scipy.org) and of course both openopt and PyPy will essentially increase
their users when openopt will be capable of running with PyPy; yet I see
some weeks or months till this still remain. I would be glad to make some
contributions toward this, but my current financial situation cannot allow
me to work for free. If at least basic financial support could be obtained,
I guess I could port some missing numpy functions / array methods, maybe
furthermore some functions from scipy.optimize or scipy.sparse. My CV and
contacts are here: http://openopt.org/Dmitrey .
We indeed have some money, but what we have is relatively little. The
numpy work done so far was purely volunteer effort and we generally
select people for doing paid job who are already core developers or
heavy contributors. However, the money we have all come from some 3rd
parties, pypy as a project does not earn any money - there is
absolutely nothing that stops you from convincing some other 3rd party
to do work on PyPy's numpy.
I had already mentioned your project and related progress in my (openopt.org) site and forum, you could publish a forum post with your appeal there (like you've done in a scipy mail list), maybe someone will provide some code contributions into your project, a finance support or another assistance.

You promised to describe what is already implemented (http://morepypy.blogspot.com/2012/01/numpypy-progress-report-running.html?showComment=1326227580054#c281969238585943039 ), but it's undone yet. I had proposed you to create an online table, where NumPy functions are split into the following categories:
* already ported
* under development (preferably with name of the person who works on it)
* not started yet
Is it possible to get the data like this? This way other possible contributors (maybe including me) could select an appropriate (i.e. they are capable of) function for contribution, and other people could estimate the progress done.

Also, is it possible to install recent numpypy without reinstallation of whole PyPy?

Regards, D.
Cheers,
fijal




_______________________________________________
pypy-dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to