mirror of
https://github.com/apache/arrow.git
synced 2026-10-28 16:47:19 +08:00
This patch provides no actual functionality; it only builds an empty Cython extension that links to libarrow.so. I will hook this into Travis CI at some later time. I have adapted a limited amount of BSD (2- or 3-clause) or Apache 2.0 3rd-party code (particularly the cmake/Cython integration) to bootstrap this Python package / build setup in accordance with http://www.apache.org/legal/resolved.html. I have noted the relevant copyright holders and licenses in `python/LICENSE.txt`. In particular, I expect to continue to refactor and reuse occasional utility code from pandas (https://github.com/pydata/pandas) as practical. Since a significant amount of "glue code" will need to be written to marshal between Arrow data and pure Python / NumPy / pandas objects, to get started I've adopted the approach used by libdynd/dynd-python -- a C++ "glue library" that is then called from Cython to provide a Python user interface. This will allow us to build shims as necessary to abstract away complications that leak through (for example: enabling C++ code with no knowledge of Python to invoke Python functions). Let's see how this goes: there are other options, like Boost::Python, but Cython + shim code is a more lightweight and flexible solution for the moment. Author: Wes McKinney <wesm@apache.org> Closes #17 from wesm/ARROW-7 and squashes the following commits:be059a2[Wes McKinney] Nest arrow::py namespace3ad3143[Wes McKinney] Add preliminary Python development toolchain
31 lines
1.1 KiB
CMake
31 lines
1.1 KiB
CMake
# Find the Cython compiler.
|
|
#
|
|
# This code sets the following variables:
|
|
#
|
|
# CYTHON_EXECUTABLE
|
|
#
|
|
# See also UseCython.cmake
|
|
|
|
#=============================================================================
|
|
# Copyright 2011 Kitware, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#=============================================================================
|
|
|
|
find_program( CYTHON_EXECUTABLE NAMES cython cython.bat )
|
|
|
|
include( FindPackageHandleStandardArgs )
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS( Cython REQUIRED_VARS CYTHON_EXECUTABLE )
|
|
|
|
mark_as_advanced( CYTHON_EXECUTABLE )
|