pitrou commented on code in PR #38649:
URL: https://github.com/apache/arrow/pull/38649#discussion_r1480306801


##########
python/examples/unwrapping/README.md:
##########
@@ -0,0 +1,33 @@
+<!---
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+
+# Wrapping and Unwrapping Pyarrow Objects
+
+This is some arbitrary code to demonstrate [wrapping and
+unwrapping](https://arrow.apache.org/docs/python/integration/extending.html)
+functionality. This tooling allows you to interop pyarrow objects with Cython 
or Arrow
+C++.
+
+Instructions:
+
+```
+python setup.py build_ext --inplace

Review Comment:
   I believe that running `setup.py` commands directly is discouraged nowadays. 
How about giving instructions using `pip` instead?



##########
python/pyarrow/src/arrow/python/pyarrow_acero.h:
##########
@@ -0,0 +1,44 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you 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.
+
+#pragma once
+
+#include "arrow/python/visibility.h"
+#include "arrow/python/wrap_macros.h"
+
+// Work around ARROW-2317 (C linkage warning from Cython)
+extern "C++" {
+
+namespace arrow {
+
+// Forward declarations. Actual wrappers/unwrappers are in pyarrow_acero.{h,cc}
+namespace acero {
+struct Declaration;
+class ExecNodeOptions;
+}  // namespace acero
+
+namespace py {
+
+ARROW_PYTHON_EXPORT int import_pyarrow_acero();

Review Comment:
   Is `ARROW_PYTHON_EXPORT` the right macro here or do we need a different 
visibility macro?



##########
python/pyarrow/src/arrow/python/pyarrow_acero.h:
##########
@@ -0,0 +1,44 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you 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.
+
+#pragma once
+
+#include "arrow/python/visibility.h"
+#include "arrow/python/wrap_macros.h"
+
+// Work around ARROW-2317 (C linkage warning from Cython)
+extern "C++" {
+
+namespace arrow {
+
+// Forward declarations. Actual wrappers/unwrappers are in pyarrow_acero.{h,cc}
+namespace acero {
+struct Declaration;
+class ExecNodeOptions;

Review Comment:
   Isn't there a `type_fwd.h` that we can include instead of manually declaring 
these?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to