jorisvandenbossche commented on code in PR #41041:
URL: https://github.com/apache/arrow/pull/41041#discussion_r1620294002


##########
python/examples/minimal_build/build_venv.sh:
##########
@@ -35,6 +35,7 @@ source $WORKDIR/venv/bin/activate
 git config --global --add safe.directory $ARROW_ROOT
 
 pip install -r $ARROW_ROOT/python/requirements-build.txt
+pip install wheel

Review Comment:
   Is this addition still needed? (my understanding is that `pip install` 
should not need it, since we also don't list it as a build dependency)



##########
python/examples/minimal_build/Dockerfile.ubuntu:
##########
@@ -15,7 +15,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-FROM ubuntu:focal
+FROM ubuntu:jammy

Review Comment:
   Any specific reason for this change? (I don't care to be clear, but I don't 
know how our general coverage is of ubuntu versions, and we should probably 
still test somewhere with focal)



##########
python/examples/minimal_build/build_venv.sh:
##########
@@ -35,6 +35,7 @@ source $WORKDIR/venv/bin/activate
 git config --global --add safe.directory $ARROW_ROOT
 
 pip install -r $ARROW_ROOT/python/requirements-build.txt
+pip install wheel

Review Comment:
   Ah, I see we actually _do_ list `wheel` as a build requirement ;) But I 
think nowadays the recommendation is not list `wheel` explicitly. 
   While I can't find an explicit reference for this, the original PEP text 
included `wheel` in the simple example 
(https://peps.python.org/pep-0518/#build-system-table), but the examples for 
using setuptools in the packaging guide or on the setuptools documentation 
(https://setuptools.pypa.io/en/latest/userguide/quickstart.html#basic-use) no 
longer include `wheel`.
   
   So I _think_ we should remove `wheel` from `build-system.requires`



##########
python/pyproject.toml:
##########
@@ -24,7 +24,63 @@ requires = [
     # continue using oldest-support-numpy.
     "oldest-supported-numpy>=0.14; python_version<'3.9'",
     "numpy>=1.25; python_version>='3.9'",
-    "setuptools_scm",
-    "setuptools >= 40.1.0",
+    # configuring setuptools_scm in pyproject.toml requires
+    # versions released after 2022
+    "setuptools_scm[toml]>=8",
+    "setuptools>=64",
     "wheel"
 ]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "pyarrow"
+dynamic = ["version"]
+requires-python = ">=3.8"
+dependencies = [
+    "numpy >= 1.16.6"
+]
+description = "Python library for Apache Arrow"
+readme = {file = "README.md", content-type = "text/markdown"}
+license = {text = "Apache Software License"}
+classifiers  = [
+    'License :: OSI Approved :: Apache Software License',
+    'Programming Language :: Python :: 3.8',
+    'Programming Language :: Python :: 3.9',
+    'Programming Language :: Python :: 3.10',
+    'Programming Language :: Python :: 3.11',
+    'Programming Langauge :: Python :: 3.12',
+]
+maintainers = [
+    {name = "Apache Arrow Developers", email = "[email protected]"}
+]
+
+[project.urls]
+Homepage = "https://arrow.apache.org/";
+Documentation = "https://arrow.apache.org/docs/python";
+Repository = "https://github.com/apache/arrow";
+Issues = "https://github.com/apache/arrow/issues";
+
+[project.optional-dependencies]
+test = [
+    'pytest',
+    'hypothesis',
+    'cffi',
+    'pytz'

Review Comment:
   The current test dependency extra in setup.py also includes pandas, maybe 
keep that here as well? Or do we only want the strictly required ones? (which 
is maybe fine, but then I think pytz can be removed as well?)



-- 
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