You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/12/01 12:07:46 UTC

[GitHub] [arrow] AlenkaF opened a new pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

AlenkaF opened a new pull request #11825:
URL: https://github.com/apache/arrow/pull/11825


   Add **Finding your way around Arrow** section of the New Contributor's guide.
   Includes:
   - [Steps in making your first PR - Python bindings](https://issues.apache.org/jira/browse/ARROW-14756)
   - [Steps in making your first PR - R bindings](https://issues.apache.org/jira/browse/ARROW-14757) (separate PR)


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on a change in pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
thisisnic commented on a change in pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#discussion_r768476343



##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.

Review comment:
       ```suggestion
   - ``ci/`` contains scripts used by the various CI jobs.
   - ``dev/`` contains scripts useful to developers when packaging,
     testing, or committing to Arrow, as well as definitions for on-demand CI tasks.
   - ``.github/`` contains workflows run on GitHub CI, triggered by certain actions
    such as opening a PR
   ```
   Just to make this a little clearer, I'd 

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.

Review comment:
       ```suggestion
   - The ``r/`` directory contains the R package.
   ```
   I'd cut this down to just this - there are a few other things than code and documentation in the R package, but it's all fairly standard R package structure stuff, and it'd be easier to not mention it than list it all.

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds or Docker.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**

Review comment:
       ```suggestion
   **Bindings**
   ```

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds or Docker.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**
+
+Binding means that the function in the C++ implementation is connected from 
+other languages (C (Glib), MATLAB, Python, R or Ruby). Once a 
+function is defined in the C++ we connect it from other languages
+so that it can be used there also.
+
+.. note::
+	There is much you can learn with checking **Pull Requests**

Review comment:
       ```suggestion
   	There is much you can learn by checking **Pull Requests**
   ```

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds or Docker.

Review comment:
       ```suggestion
   ```
   This isn't strictly true; some files are to do with licenses, the code of conduct, etc.  I'd just cut this out - people can take a look at the files if they want to know what they are, but this knowledge isn't essential for them being able to submit a PR.

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.

Review comment:
       Could you add a brief description of what Arrow Protocol files are? I have no idea what they are! :)

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds or Docker.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**
+
+Binding means that the function in the C++ implementation is connected from 
+other languages (C (Glib), MATLAB, Python, R or Ruby). Once a 
+function is defined in the C++ we connect it from other languages
+so that it can be used there also.
+
+.. note::
+	There is much you can learn with checking **Pull Requests**
+	and **unit tests for similar issues**.  

Review comment:
       ```suggestion
   	and **unit tests** for similar issues.  
   ```

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds or Docker.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**
+
+Binding means that the function in the C++ implementation is connected from 
+other languages (C (Glib), MATLAB, Python, R or Ruby). Once a 
+function is defined in the C++ we connect it from other languages
+so that it can be used there also.
+
+.. note::
+	There is much you can learn with checking **Pull Requests**
+	and **unit tests for similar issues**.  
+
+.. tabs::
+
+   .. tab:: Python
+
+      **Adding a fix in Python**
+
+      If you are doing a correction of an existing function, the
+      easiest way is to run Python interactively or run Jupyter
+      Notebook and research
+      the issue until you understand what needs to be done.

Review comment:
       ```suggestion
         If you are updating an existing function, the
         easiest way is to run Python interactively or run Jupyter
         Notebook and research
         the issue until you understand what needs to be done.
   ```

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds or Docker.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**
+
+Binding means that the function in the C++ implementation is connected from 
+other languages (C (Glib), MATLAB, Python, R or Ruby). Once a 
+function is defined in the C++ we connect it from other languages
+so that it can be used there also.

Review comment:
       ```suggestion
   The term "binding" is used to refer to a function in the C++ implementation which 
   can be called from a function in another language.  After a function is defined in
    C++ we must create the binding manually to use it in that implementation.
   ```

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds or Docker.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**
+
+Binding means that the function in the C++ implementation is connected from 
+other languages (C (Glib), MATLAB, Python, R or Ruby). Once a 
+function is defined in the C++ we connect it from other languages
+so that it can be used there also.
+
+.. note::
+	There is much you can learn with checking **Pull Requests**
+	and **unit tests for similar issues**.  
+
+.. tabs::
+
+   .. tab:: Python
+
+      **Adding a fix in Python**
+
+      If you are doing a correction of an existing function, the
+      easiest way is to run Python interactively or run Jupyter
+      Notebook and research
+      the issue until you understand what needs to be done.
+
+      After, you can search on GitHub for the function name, to
+      see where the function is defined.
+
+      Also, if there are errors produced, the errors will most
+      likely point you towards the file you need to take a look at.
+
+      **Python - Cython - C++**
+       
+      It is quite likely that you will bump into Cython code when
+      working on Python issues. Less likely is that C++ code would
+      need some correction, but it can happen.

Review comment:
       ```suggestion
         It is quite likely that you will bump into Cython code when
         working on Python issues. It's less likely is that the C++ code 
         needs updating, though it can happen.
   ```

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds or Docker.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**
+
+Binding means that the function in the C++ implementation is connected from 
+other languages (C (Glib), MATLAB, Python, R or Ruby). Once a 
+function is defined in the C++ we connect it from other languages
+so that it can be used there also.
+
+.. note::
+	There is much you can learn with checking **Pull Requests**
+	and **unit tests for similar issues**.  
+
+.. tabs::
+
+   .. tab:: Python
+
+      **Adding a fix in Python**
+
+      If you are doing a correction of an existing function, the
+      easiest way is to run Python interactively or run Jupyter
+      Notebook and research
+      the issue until you understand what needs to be done.
+
+      After, you can search on GitHub for the function name, to
+      see where the function is defined.
+
+      Also, if there are errors produced, the errors will most
+      likely point you towards the file you need to take a look at.
+
+      **Python - Cython - C++**
+       
+      It is quite likely that you will bump into Cython code when
+      working on Python issues. Less likely is that C++ code would
+      need some correction, but it can happen.
+
+      As mentioned before, the underlying code is written in C++.
+      Python then connects to it via Cython. If you
+      are not familiar with it you can ask for help and remember,
+      **look for similar Pull Requests and JIRA issues!**
+
+      **Adding tests**
+
+      There are some issues where only tests are missing. Here you
+      can search for similar functions and see how the unit tests for
+      those functions are written and how they can apply in your case.
+
+      This also hold true for adding a test for the issue you have solved.

Review comment:
       ```suggestion
         This also holds true for adding a test for the issue you have solved.
   ```




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] AlenkaF commented on a change in pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
AlenkaF commented on a change in pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#discussion_r768536200



##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.

Review comment:
       Ha, me neither =) Will look into it ...




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on a change in pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
thisisnic commented on a change in pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#discussion_r767164252



##########
File path: docs/source/developers/guide/documentation.rst
##########
@@ -100,7 +100,7 @@ library. Source folder includes:
   in folders named by the language, for example: ``docs/source/c_glib``.
 - The documentation for the **R language** is located in the ``r/`` sub-directory.
 
-  - In the ``R/vignettes`` you can find the **Articles**, for example
+  - In the ``r/vignettes`` you can find the **Articles**, for example

Review comment:
       ```suggestion
     - In ``r/vignettes`` you can find the **Articles**, for example
   ```




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] ursabot commented on pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
ursabot commented on pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#issuecomment-993837617


   Benchmark runs are scheduled for baseline = eb7fb87c6cb12d46c7c67f73a67ad442d17b3dad and contender = 65eaff39b2c41d6abd92d45821a79ef997b79fd5. 65eaff39b2c41d6abd92d45821a79ef997b79fd5 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Scheduled] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/cb5b7da4577f4942b275b00fe7586d99...49d9c96f02784861bd386e35ffa08eeb/)
   [Scheduled] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/fe3c8b19bbcd425ea76dcb107368e90d...ccbc50ce2ec348d088c21c36fff2cd1d/)
   [Scheduled] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/2b3353fa57284db99f298817e0443ce5...7c66a0b220a24bf1815d7dbdc8fe1468/)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic closed pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
thisisnic closed pull request #11825:
URL: https://github.com/apache/arrow/pull/11825


   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#issuecomment-983578720


   https://issues.apache.org/jira/browse/ARROW-14756


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] ursabot edited a comment on pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
ursabot edited a comment on pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#issuecomment-993837617


   Benchmark runs are scheduled for baseline = eb7fb87c6cb12d46c7c67f73a67ad442d17b3dad and contender = 65eaff39b2c41d6abd92d45821a79ef997b79fd5. 65eaff39b2c41d6abd92d45821a79ef997b79fd5 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Finished :arrow_down:0.0% :arrow_up:0.0%] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/cb5b7da4577f4942b275b00fe7586d99...49d9c96f02784861bd386e35ffa08eeb/)
   [Scheduled] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/fe3c8b19bbcd425ea76dcb107368e90d...ccbc50ce2ec348d088c21c36fff2cd1d/)
   [Scheduled] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/2b3353fa57284db99f298817e0443ce5...7c66a0b220a24bf1815d7dbdc8fe1468/)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
thisisnic commented on pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#issuecomment-991680020


   > @thisisnic did my best, restructured the text and added "finding your way around" part. What do you think?
   
   I think it flows a lot better now, nice!


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] ursabot edited a comment on pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
ursabot edited a comment on pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#issuecomment-993837617


   Benchmark runs are scheduled for baseline = eb7fb87c6cb12d46c7c67f73a67ad442d17b3dad and contender = 65eaff39b2c41d6abd92d45821a79ef997b79fd5. 65eaff39b2c41d6abd92d45821a79ef997b79fd5 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Finished :arrow_down:0.0% :arrow_up:0.0%] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/cb5b7da4577f4942b275b00fe7586d99...49d9c96f02784861bd386e35ffa08eeb/)
   [Failed :arrow_down:1.35% :arrow_up:0.0%] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/fe3c8b19bbcd425ea76dcb107368e90d...ccbc50ce2ec348d088c21c36fff2cd1d/)
   [Finished :arrow_down:1.86% :arrow_up:0.04%] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/2b3353fa57284db99f298817e0443ce5...7c66a0b220a24bf1815d7dbdc8fe1468/)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
thisisnic commented on pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#issuecomment-991680020


   > @thisisnic did my best, restructured the text and added "finding your way around" part. What do you think?
   
   I think it flows a lot better now, nice!


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on a change in pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
thisisnic commented on a change in pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#discussion_r768476343



##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,152 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the continuous integration work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.

Review comment:
       ```suggestion
   - ``ci/`` contains scripts used by the various CI jobs.
   - ``dev/`` contains scripts useful to developers when packaging,
     testing, or committing to Arrow, as well as definitions for on-demand CI tasks.
   - ``.github/`` contains workflows run on GitHub CI, triggered by certain actions
    such as opening a PR
   ```
   




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on a change in pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
thisisnic commented on a change in pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#discussion_r767164252



##########
File path: docs/source/developers/guide/documentation.rst
##########
@@ -100,7 +100,7 @@ library. Source folder includes:
   in folders named by the language, for example: ``docs/source/c_glib``.
 - The documentation for the **R language** is located in the ``r/`` sub-directory.
 
-  - In the ``R/vignettes`` you can find the **Articles**, for example
+  - In the ``r/vignettes`` you can find the **Articles**, for example

Review comment:
       ```suggestion
     - In ``r/vignettes`` you can find the **Articles**, for example
   ```




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] jorisvandenbossche commented on a change in pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
jorisvandenbossche commented on a change in pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#discussion_r767737412



##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,154 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has it's own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes all pyarrow modules, for example
+  ``compute.py`` for the ``pyarrow.compute`` module. The ``pyarrow/``
+  includes Python and Cython code.

Review comment:
       The first sentence of this paragraph is maybe not needed? (the second one about pyarrow including both python and cython is certainly useful)

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,154 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has it's own repository available `here <https://github.com/apache/arrow-rs>`_.

Review comment:
       ```suggestion
   Rust has its own repository available `here <https://github.com/apache/arrow-rs>`_.
   ```

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,154 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has it's own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes all pyarrow modules, for example
+  ``compute.py`` for the ``pyarrow.compute`` module. The ``pyarrow/``
+  includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the CI work.

Review comment:
       I would spell out CI in full

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,154 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has it's own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes all pyarrow modules, for example
+  ``compute.py`` for the ``pyarrow.compute`` module. The ``pyarrow/``
+  includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the CI work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds, docker or Archery.

Review comment:
       Archery is included in `/dev`, which was already mentioned above? (also, in general for readers here, it will not be clear what "archery" is)

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,154 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has it's own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes all pyarrow modules, for example
+  ``compute.py`` for the ``pyarrow.compute`` module. The ``pyarrow/``
+  includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the CI work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds, docker or Archery.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**
+
+Binding means that the function in the C++ is connected from 
+other languages (C (Glib), MATLAB, Python, R or Ruby). Once a 
+function is defined in the C++ we connect it from other languages
+so that it can be used there also.
+
+.. note::
+	There is much you can learn with checking **Pull Requests**
+	and **unit tests for similar issues**.  
+
+.. tabs::
+
+   .. tab:: Python
+
+      **Adding a fix in Python**
+
+      If you are doing a correction of an existing function, the
+      easiest way is to run Python interactively or run Jupyter
+      Notebook from the Python folder in Arrow and research

Review comment:
       ```suggestion
         easiest way is to run Python interactively or run Jupyter
         Notebook and research
   ```
   
   What's the reason you would run it specifically from that directory?

##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,154 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has it's own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes all pyarrow modules, for example
+  ``compute.py`` for the ``pyarrow.compute`` module. The ``pyarrow/``
+  includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the CI work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds, docker or Archery.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**
+
+Binding means that the function in the C++ is connected from 

Review comment:
       ```suggestion
   Binding means that the function in the C++ implementation is connected from 
   ```




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] AlenkaF commented on a change in pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
AlenkaF commented on a change in pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#discussion_r767749452



##########
File path: docs/source/developers/guide/step_by_step/arrow_codebase.rst
##########
@@ -0,0 +1,154 @@
+.. 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.
+
+
+.. SCOPE OF THIS SECTION
+.. This section is intended to give some ideas on how to
+.. work and find way around the Arrow library depending
+.. on the type of the problem (simple binding, adding a
+.. new feature, writing a test, …).
+
+
+.. _arrow-codebase:
+
+********************************
+Working on the Arrow codebase 🧐
+********************************
+
+Finding your way around Arrow
+=============================
+
+The Apache Arrow repository includes implementations for
+most of the libraries for which Arrow is available.
+
+Languages like GLib (``c_glib/``), C++ (``cpp/``), C# (``csharp/``),
+Go (``go/``), Java (``java/``), JavaScript (``js/``),
+Julia (``julia/``), MATLAB (``matlab/``, Python (``python/``),
+R (``r/``) and Ruby (``ruby/``) have their own subdirectories in
+the main folder as written here.
+
+Rust has it's own repository available `here <https://github.com/apache/arrow-rs>`_.
+
+In the **language-specific subdirectories** you can find the code
+connected to that language. For example:
+
+- The ``python/`` folder includes ``pyarrow/`` folder which contains
+  the code for the pyarrow package and requirements files that you
+  need when building pyarrow.
+
+  The ``pyarrow/`` includes all pyarrow modules, for example
+  ``compute.py`` for the ``pyarrow.compute`` module. The ``pyarrow/``
+  includes Python and Cython code.
+
+  The ``pyarrow/`` also includes ``test/`` folder where all the tests
+  for the pyarrow modules are located.
+
+- The ``R/`` folder holds the code and the documentation for the R package.
+
+  The documentation can be found in ``vignettes/`` and in ``R/`` folder
+  you can find the reference documentation.
+
+  The ``R/`` folder also includes tests for the R package
+  in ``tests/`` and ``extra-tests/``.
+
+Other subdirectories included in the arrow repository are:
+
+- ``ci/`` contains code connected to the CI work.
+- ``dev/`` contains scripts useful to developers when packaging,
+  testing, or committing to Arrow.
+- ``docs/`` contains most of the documentation. Read more on
+  :ref:`documentation`.
+- ``format/`` contains the Arrow Protocol files.
+
+Other files included in Arrow are connected to either GitHub,
+CI builds, docker or Archery.
+
+Bindings, features, fixes and tests
+===================================
+
+You can read through this section to get some ideas on how
+to work around the library on the issue you have.
+
+Depending on the problem you want to solve (adding a simple
+binding, adding a feature, writing a test, …) there are
+different ways to get the necessary information. 
+
+**For all the cases** you can help yourself with
+searching for functions via some kind of search tool.
+In our experience there are two good ways:
+
+#. Via **GitHub Search** in the Arrow repository (not a forked one)
+   This way is great as GitHub lets you search for function
+   definitions and references also.
+
+#. **IDE** of your choice.
+
+**Binding**
+
+Binding means that the function in the C++ is connected from 
+other languages (C (Glib), MATLAB, Python, R or Ruby). Once a 
+function is defined in the C++ we connect it from other languages
+so that it can be used there also.
+
+.. note::
+	There is much you can learn with checking **Pull Requests**
+	and **unit tests for similar issues**.  
+
+.. tabs::
+
+   .. tab:: Python
+
+      **Adding a fix in Python**
+
+      If you are doing a correction of an existing function, the
+      easiest way is to run Python interactively or run Jupyter
+      Notebook from the Python folder in Arrow and research

Review comment:
       Lack of understanding from my side I would say.




-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] AlenkaF commented on pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
AlenkaF commented on pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#issuecomment-990801893


   @thisisnic did my best, restructured the text and added "finding your way around" part. What do you think?


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] ursabot edited a comment on pull request #11825: ARROW-14756: [Doc] Steps in making your first PR - Python bindings

Posted by GitBox <gi...@apache.org>.
ursabot edited a comment on pull request #11825:
URL: https://github.com/apache/arrow/pull/11825#issuecomment-993837617


   Benchmark runs are scheduled for baseline = eb7fb87c6cb12d46c7c67f73a67ad442d17b3dad and contender = 65eaff39b2c41d6abd92d45821a79ef997b79fd5. 65eaff39b2c41d6abd92d45821a79ef997b79fd5 is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
   Conbench compare runs links:
   [Finished :arrow_down:0.0% :arrow_up:0.0%] [ec2-t3-xlarge-us-east-2](https://conbench.ursa.dev/compare/runs/cb5b7da4577f4942b275b00fe7586d99...49d9c96f02784861bd386e35ffa08eeb/)
   [Scheduled] [ursa-i9-9960x](https://conbench.ursa.dev/compare/runs/fe3c8b19bbcd425ea76dcb107368e90d...ccbc50ce2ec348d088c21c36fff2cd1d/)
   [Finished :arrow_down:1.86% :arrow_up:0.04%] [ursa-thinkcentre-m75q](https://conbench.ursa.dev/compare/runs/2b3353fa57284db99f298817e0443ce5...7c66a0b220a24bf1815d7dbdc8fe1468/)
   Supported benchmarks:
   ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python. Runs only benchmarks with cloud = True
   ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
   ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java
   


-- 
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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org