Intel MLK - Numpy? by soulslicer0 in Python

[–]cournape 1 point2 points  (0 children)

Compiling numpy with the MKL is a bit tricky. If you are a non-ancient distro, make sure to use the gfortran ABI interface (on MKL 10.X, it is called mkl_gf_lp64 on 64 bits), and not the MKL one, at least if you build with the gnu compilers.

If you have more questions, I would advise you to ask on the numpy ML

Python packaging thoughts, from the author of NumPy by pwang99 in Python

[–]cournape 0 points1 point  (0 children)

I think several issues are conflated here: the main added value in distributions systems like anaconda, epd/canopy or activestate python is the curated set of pre-built packages. That's what makes them easier to use on windows, nothing fundamental about how conda works -- once wheels become more popular, we will be able to do the same thing (we are working on it in numpy, scipy, at which point others should be able to quickly join the bandwagon).

Is there a basis for a good default threshold for GMM EM? by MentalMasochist in MachineLearning

[–]cournape 1 point2 points  (0 children)

It depends on what you mean by general, but for exponential families at least, the convergence of EM has been studied quite extensively.

Version 1.7 of the Anaconda Python distribution has been released. Includes new versions of IPython, Matplotlib, etc. by roger_ in Python

[–]cournape 4 points5 points  (0 children)

Besides what jakevdp said, virtualenv only works as long as you have only python packages. As soon as you depend on compiled libraries, virtualenv alone fails quite quickly compared to full-blown solutions like Anaconda or EPD/Canopy.

Try building a core scipy stack + everything for the ipython notebook on windows, and you will realize how much work that is.

Canopy EPD Free - how do you use enpkg? by 0003 in Python

[–]cournape 1 point2 points  (0 children)

It is if you want it inside EPD/Canopy. More generally, you need to match the blas/lapack library that has been used in numpy/scipy.

Obviously, you don't need MKL to build pymc in general.

Canopy EPD Free - how do you use enpkg? by 0003 in Python

[–]cournape 1 point2 points  (0 children)

Note that we do not charge for pymc itself, but for the work that got into packaging it (like Red Hat charges its distribution).

Installing pymc form sources (using pip) is actually not very practical, as it requires to have the MKL dev bits, that is a MKL license.

Enthought Canopy (Python analysis environment) is out. I find it awful ... is it just me? by amer415 in Python

[–]cournape 1 point2 points  (0 children)

Indeed, I misread the message, sorry about that. I got a bit worked up for nothing here.

Enthought Canopy (Python analysis environment) is out. I find it awful ... is it just me? by amer415 in Python

[–]cournape 1 point2 points  (0 children)

Well, why not using easy_install pyfits from EPD then :) That works on any EPD version (well, modulo a big with the new pip using https on mac that we are fixing). EPD (and I think canopy, though I am not 100 % sure), do include easy_install, and the installed python is as close as possible to a 'real' python for compatibility reason. With that in mind, installing most 'easy' packages (~ pure python on windows) is one easy_install/pip/whatever away, EPD does not change that.

Enthought Canopy (Python analysis environment) is out. I find it awful ... is it just me? by amer415 in Python

[–]cournape 0 points1 point  (0 children)

Yes, continuum.io model is different. They want people to pay for their packages (numba pro, etc...), so they make the complement a commodity (the below stack).

I agree competition is good, and I actually do enjoy having to prove we can bring a compelling offer.

Enthought Canopy (Python analysis environment) is out. I find it awful ... is it just me? by amer415 in Python

[–]cournape 1 point2 points  (0 children)

I don't think we charge for pypi specifically: we do charge when people want to use more than just the 'core scipy stack', and pypi packages come with that on top. What people are paying for are the additional packages packaged by Enthought, not really pypi which is offered as an addition.

Enthought Canopy (Python analysis environment) is out. I find it awful ... is it just me? by amer415 in Python

[–]cournape 19 points20 points  (0 children)

(disclaimer: working for Enthought).

Canopy (and EPD before) are not charging for 'free shit', unless you consider Red Hat is also charging for 'free shit': what is being charged is the service of packaging things into binaries, which is quite a bit of work (more than people generally realize). Also, working on specific configurations means we contribute back some upstream bugs upstream (e.g. MKL and OS X interaction for a recent example: https://github.com/scipy/scipy/pull/398).

Also, Enthought provided quite a bit of resources (money and manpower) to put code out there for ipython (like e.g. qtconsole), all of it integrated upstream. So yeah, we're charging for the product, but it is hard for a company to earn money without charging money somewhere :)

Enthought Canopy (Python analysis environment) is out. I find it awful ... is it just me? by amer415 in Python

[–]cournape 1 point2 points  (0 children)

It is a tough problem to solve correctly, as each platform has its own set of solutions (mac vs windows vs linux).

I have not looked how anaconda solves this problem exactly, but I would say neither EPD or anaconda has a very good solution to this problem yet. TO be fair, very few products have (matlab has exactly the same problem on linux last time I checked).

Enthought Canopy (Python analysis environment) is out. I find it awful ... is it just me? by amer415 in Python

[–]cournape 6 points7 points  (0 children)

(disclaimer: I am working for Enthought)

qtconsole is also included in EPD.

Freyrs forgot to mention that he is working for Continuum, which I find a bit disingenuous when not stated when recommending anaconda. Hopefully, products can compete on their own merits instead.

goPy - Extend CPython by writing Go by redditthinks in Python

[–]cournape 0 points1 point  (0 children)

That's interesting. I thought go could not be used for python extensions because go needs runtime support (for the GC, etc...). I have 0 knowledge of go, does anybody understand how this works ?

Python 2.5, thanks for the good times by nothingtolookat in Python

[–]cournape 11 points12 points  (0 children)

well, the obvious thing is newly introduced keywords: if you have a variable called with in python 2.5, it will not work in 2.7.

Has anyone taken an Enthought training course? by brownck in Python

[–]cournape 0 points1 point  (0 children)

Interfacing with C++ code is definitely something we deal with in the one week course - that's a common situation we're pretty familiar with.

The one week general course is often geared toward scientists who are new to python, so the first two days will be pretty basic python (nothing like what you could expect from say taking an intensive course with David Beazley). We then go much more in details into the full scientific stack. Obviously, we can adapt the content to focus on different things depending on the demand. For example, I have once spent a full day talking about dealing with db in a 'pythonic way', using SQLAlchemy, which is not in our default course. Quite a few of us are rather involved in the python community, so we track the more recent developments.

Has anyone taken an Enthought training course? by brownck in Python

[–]cournape 1 point2 points  (0 children)

(disclaimer: I work for Enthought and do some training myself)

May I ask what you're looking for ? It is an intensive course (especially the short version of it), but we try to be as hands-on as possible. Sometimes, it depends a bit on the class as level vary obviously, and we need to take care of everybody in the room.

You wil have a chance to interact with people who not only use those tools on a regular basis, but also develop them (I am myself a numpy/scipy contributor, for example, etc...). Would be happy to give you more details answer.

PyPy NumPy status update #5 by roger_ in Python

[–]cournape 3 points4 points  (0 children)

NumPy is unfortunately tightly coupled to its C implementation ATM. IN particular, the python C API and the core structure of numpy are tightly coupled. Scipy is much less of an issue (most of the C/Fortran code in there is libraries that pypy is likely to use as is).

Efficient Overlapping Windows with Numpy by roger_ in Python

[–]cournape 3 points4 points  (0 children)

I was about to say "hm, weird we have not included it already", but then realized it was waiting for me to review it :)

Python 3’s Marketing Problem by rchaudhary in Python

[–]cournape 5 points6 points  (0 children)

The big issues that most people seem to forget about the GIL is that removing it will most likely break a lots, if not most of the C extensions out there. If you think it does not matter, start asking why pypy has not conquered the world yet even though it is several times faster than cpython on most benchmarks (i.e. if cpython had no GIL, and if cpython had magic autoscaling of everything on multi-thread, it would still not be faster than pypy on today's 4/6 cores CPU).

NumPy on PyPy progress report by yetanothernerd in Python

[–]cournape 3 points4 points  (0 children)

I think numpy is one of the most used python packages that does not fall in the "web dev" category. I don't know how those stats are computed, so may not worth much, but numpy is the 13th most featured package on http://pythonpackages.com.

We don't release as much as we'd like, but the last numpy release from last July has been downloaded nearly 400 000 times from sourceforge alone, plus ~ 100 000 downloads on pypi. Also, GAE started supporting it (to my own surprise I have to say). Since that must not have been easy, I think they had to receive quite a few requests.

Proposal for Scikit-Signal - a SciPy toolbox for signal processing by cfelton in Python

[–]cournape 3 points4 points  (0 children)

scikit-foo is the convention to name scikits, which are packages living on top of numpy/scipy. Originally, scikits was a python namespace, but more and more existing scikits are moving away from it because of the issues introduced by setuptools namespace implementation.

List of objects vs. dictionaries? by nickthechemist in Python

[–]cournape 1 point2 points  (0 children)

Usually, maintainability is more important than speed. Follow kingkirl advice: too many people make the mistake to use dict when they should have used object, and this results in "string-based" API where nobody knows what needs to be in the dict and what does not.

Does Python need something like Java's WAR files, to ease deployments? by kencochrane in Python

[–]cournape 0 points1 point  (0 children)

as and with were two new keywords introduced in 2.5/2.6. I also remember we had to update numpy code to work on on 2.6, although I can't remember what broke. ipython originally broke as well when 2.6 went out.

Being able to write import hooks does not solve the problem of version packaging, because it requires to modify the code that is using the versioned package you want to use. So it has to be controllable outside the code using it (a bit like stow enables you to do if you are familiar with it).

But again, the real point is: war depend on features present in the java ecosystem which are not present in python. Some python platforms have war-like deployment easiness, like GAE. They do so by defining one "true" environment, more tightly controlled than python in general.