>>Unfortunately, this is not possible. Graph-tool uses the CPython C API
>>(via boost-python) which is not implemented by pypy.

>Pypy does have support, sometimes with performance problems, for most of the 
>Cpython APIs

Indeed, the situation may not be hopeless.  IIUC, With PyPy’s C API 
compatibility layer (cpyext), many compiled extensions can be built for PyPy 
with minimal changes (or perhaps none at all?).  The conda-forge project has 
been methodically adding PyPy support to many of its packages, including numpy, 
scipy, matplotlib, etc.  Just recently, their package for boost itself was 
updated for PyPy support[1]. On my machine, I can build a “hello world” 
extension with boost-python and run it with PyPy, without any special magic. 
(See attached.)

In the coming months, *maybe* all of graph-tool’s dependencies will be 
supported in conda-forge.  But that won’t happen on its own.  If this is 
important to you, please consider assisting with the following PRs, which 
currently fail:

https://github.com/conda-forge/pycairo-feedstock/pull/21
https://github.com/conda-forge/pygobject-feedstock/pull/27

I think those are the only remaining obstacles to at least attempting to build 
a graph-tool PyPy package. (I’m not sure about the glib feedstock.)

I’m not a PyPy user (yet?) so I can’t make any promises about my own commitment 
to this effort.  And I certainly can’t comment on what will happen if it turns 
out patches are required in the graph-tool source code itself.  Nonetheless, I 
think there’s *hope* that a sufficiently motivated PyPy user could make 
progress on this.  If you decide to try it, feel free to ping me on relevant 
github threads (@stuarteberg).

Best,
Stuart

[1]: 
https://github.com/conda-forge/boost-feedstock/pull/110#issuecomment-763940556

Attachment: hello.cpp
Description: hello.cpp

_______________________________________________
graph-tool mailing list
graph-tool@skewed.de
https://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to