Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port weave functions to Cython #264

Closed
richardjgowers opened this issue Apr 30, 2015 · 2 comments · Fixed by #375
Closed

Port weave functions to Cython #264

richardjgowers opened this issue Apr 30, 2015 · 2 comments · Fixed by #375

Comments

@richardjgowers
Copy link
Member

So scipy.weave doesn't support Python 3, so functions written in weave should be ported to Cython to avoid blocking Python 3 (See #260)

There's currently 2 functions in analysis.distances which use weave:

  • contact_matrix_pbc
  • contact_matrix_no_pbc

I think these were originally written by @jandom but looking at them it should be easy to move them into src/numtools/calc_distances.h then write a new .pyx interface.

An option is to move these functions inside the distances.pyx interface, so then they could (eventually) share the parallelism there (assuming #261 goes ahead).

@richardjgowers richardjgowers added this to the 1.0 milestone Apr 30, 2015
@orbeckst
Copy link
Member

orbeckst commented May 2, 2015

I'd like to get rid of all weave code. It's nice for quick hacks but it does require the user to have a working compiler tool chain, and that's not guaranteed. If we want to be able to distribute binary packages then weave code needs to be replaced by Cython.

@hainm
Copy link
Contributor

hainm commented May 2, 2015

should switch all weave to Cython. It's portable. You can ship your Cython code (.pyx) with cythonize code (.cpp). User only need C++ compiler (don't even need Cython) to get the .so extension without bothering install scipy, numpy, ...

I not sure about the idea 'binary packages'? Is this one similar to uploading to binstar and using conda? If yes, it's great. I can install pytraj within 30 seconds.

Hai

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants