[ 
https://issues.apache.org/jira/browse/HDFS-9758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15259810#comment-15259810
 ] 

Tibor Kiss commented on HDFS-9758:
----------------------------------

We have several options to implement Python bindings for the pure C++ HDFS 
Client:
 - CFFI (MIT License)
 - cppyy (MIT License)
 - Ctypes (MIT License)
 - Cython (Apache License)
 - SWIG (GPL License)
 - Boost.Python (Boost Software License)
 - pure python extensions

While CFFI is simple & clean it does not support C++. 
cppyy would be a great choice but it supports pypy at this time.
Ctypes is integrated to CPython since 2.5, but C++ support is not great.
Cython does support both C & C++, seems a reasonable choice.
SWIG also supports C & C++, plus it could be later used to bring other 
scripting language support. It's licensing could be a problem.
Boost.Python seems to have great C++ support at a first glance. It's license 
needs to be studied.

Thoughts / feelings / preferences?

> libhdfs++: Implement Python bindings
> ------------------------------------
>
>                 Key: HDFS-9758
>                 URL: https://issues.apache.org/jira/browse/HDFS-9758
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: hdfs-client
>            Reporter: James Clampffer
>
> It'd be really useful to have bindings for various scripting languages.  
> Python would be a good start because of it's popularity and how easy it is to 
> interact with shared libraries using the ctypes module.  I think bindings for 
> the V8 engine that nodeJS uses would be a close second in terms of expanding 
> the potential user base.
> Probably worth starting with just adding a synchronous API and building from 
> there to avoid interactions with python's garbage collector until the 
> bindings prove to be solid.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to