qpid-proton mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ken Giusti (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PROTON-630) [python] Add a setup.py for installing the python bindings via PyPi
Date Wed, 09 Jul 2014 21:11:04 GMT

    [ https://issues.apache.org/jira/browse/PROTON-630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14056759#comment-14056759

Ken Giusti commented on PROTON-630:

See reviewboard for proposed patch:


> [python] Add a setup.py for installing the python bindings via PyPi
> -------------------------------------------------------------------
>                 Key: PROTON-630
>                 URL: https://issues.apache.org/jira/browse/PROTON-630
>             Project: Qpid Proton
>          Issue Type: New Feature
>          Components: python-binding
>    Affects Versions: 0.7
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>             Fix For: 0.8
> Include a setup.py that can be used to upload/download the python bindings from PyPi.
> Rational:  This feature would allow our python bindings to properly integrate with python
virtual environments such as virtualenv.  virtualenv allows a developer to override the python
packages installed on their system.  virtualenv works with pip to fetch python packages from
repositories such as PyPi, allowing a developer to create a custom python environment that
can be used for developing and testing python applications. 
> Since we currently lack an easy method for providing the python bindings via PyPi, virtual
environments cannot include proton python bindings, as the site-packages installed on the
'real' system are not available in the virtual environment by default.
> However, system libraries, such as libproton, *are* able to be referenced by the virtual
environment by default.  Given that, this new setup.py should only need to install the python
files that live under site-packages.  Specifically, only the proton.py, cproton.py, and the
_cproton.so files need to be provided.  The setup.py should be written to actually include
the swig-generated C source, and build _cproton.so from it as part of the install into the
target environment.
> Since only the python-specific files are provided, and  the swig-generated C code must
be built on the target machine, the setup.py will assume that the developer has already installed
the proton libraries and header files on the target machine.  To be clear: this feature will
still *require* proton to be installed on the developer's machine - it merely allows the python
bindings to then be installed into a virtual python site-packages via pip/PyPi.
> See https://virtualenv.pypa.io/en/latest/index.html for more details regarding virtual

This message was sent by Atlassian JIRA

View raw message