是否可以使用Cython写入/来自python转换器?

时间:2013-08-27 16:10:21

标签: python cython boost-python python-bindings

是否可以使用像it is possible for boost.python这样的Cython编写to-python和from-python转换器?

编辑(在评论请求中,详细说明我们为什么要这样做):

We currently have code用C ++编写,通过boost.python绑定到Python。在这个C ++代码中,我们处理Blitz::Array<>'s。在我们当前的抽象方案中,Python中的代码使用NumPy的ndarrays,而C ++中的代码使用Blitz::Arrays<>We have written a bridge可以以非常透明的方式从numpy.ndarray转换为Blitz::Array<>,反之亦然。这座桥也可以避免在某些情况下复制,这是什么奖励。

这种方法的问题:

  1. 可移植性:针对不同版本的Python进行编译需要为每个版本的Python编译Boost.Python;

  2. 可记录性:在C ++代码中包含Python文档字符串并不是很好。它不鼓励我们的开发人员实现漂亮的文档。它经常看起来修补不完整;

  3. 构建速度:编译boost.python模板可能会非常慢。我们使用CMake来并行执行此操作,但我们希望使用我们的项目创建一个库存Python egg。你可能已经意识到setuptools / distutils和CMake混合得不好所以我们在这个领域做了一些不完整的事情。

  4. 所以,考虑到Cython的前景,我认为我们会试一试,找到解决所有这些问题的方法。我们已经拥有一个依赖numpy.ndarray的代码库,我希望尽可能地利用它,只需最少的编写和最大限度地重用我们的C ++代码库。因此,我的问题。

0 个答案:

没有答案