hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tibor Kiss (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-9758) libhdfs++: Implement Python bindings
Date Wed, 27 Apr 2016 08:55:12 GMT

    [ 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

View raw message