diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh index 8f4483b62aa81..511d43304b0da 100755 --- a/dev/release/verify-release-candidate.sh +++ b/dev/release/verify-release-candidate.sh @@ -625,7 +625,7 @@ check_python_imports() { } test_linux_wheels() { - local py_arches="3.5m 3.6m 3.7m 3.8" + local py_arches="3.5m 3.6m 3.7m 3.8 3.9" local manylinuxes="1 2010 2014" for py_arch in ${py_arches}; do @@ -649,7 +649,7 @@ test_linux_wheels() { } test_macos_wheels() { - local py_arches="3.5m 3.6m 3.7m 3.8" + local py_arches="3.5m 3.6m 3.7m 3.8 3.9" for py_arch in ${py_arches}; do local env=_verify_wheel-${py_arch} diff --git a/dev/tasks/conda-recipes/.ci_support/linux_aarch64_python3.9.____cpython.yaml b/dev/tasks/conda-recipes/.ci_support/linux_aarch64_python3.9.____cpython.yaml new file mode 100644 index 0000000000000..c44472b854542 --- /dev/null +++ b/dev/tasks/conda-recipes/.ci_support/linux_aarch64_python3.9.____cpython.yaml @@ -0,0 +1,66 @@ +BUILD: +- aarch64-conda_cos7-linux-gnu +aws_sdk_cpp: +- 1.8.54 +boost_cpp: +- 1.74.0 +bzip2: +- '1' +c_compiler: +- gcc +c_compiler_version: +- '7.5' +cdt_arch: +- aarch64 +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cuda_compiler_version: +- None +cxx_compiler: +- gxx +cxx_compiler_version: +- '7.5' +docker_image: +- condaforge/linux-anvil-aarch64 +gflags: +- '2.2' +glog: +- 0.4.0 +grpc_cpp: +- '1.30' +libprotobuf: +- '3.13' +lz4_c: +- 1.9.2 +numpy: +- '1.16' +orc: +- 1.6.4 +pin_run_as_build: + boost-cpp: + max_pin: x.x.x + bzip2: + max_pin: x + lz4-c: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.9.* *_cpython +re2: +- 2020.08.01 +snappy: +- '1' +target_platform: +- linux-aarch64 +zlib: +- '1.2' +zstd: +- '1.4' diff --git a/dev/tasks/conda-recipes/.ci_support/linux_cuda_compiler_version9.2python3.9.____cpython.yaml b/dev/tasks/conda-recipes/.ci_support/linux_cuda_compiler_version9.2python3.9.____cpython.yaml new file mode 100644 index 0000000000000..01bfb49896ff3 --- /dev/null +++ b/dev/tasks/conda-recipes/.ci_support/linux_cuda_compiler_version9.2python3.9.____cpython.yaml @@ -0,0 +1,65 @@ +aws_sdk_cpp: +- 1.8.54 +boost_cpp: +- 1.74.0 +bzip2: +- '1' +c_compiler: +- gcc +c_compiler_version: +- '7' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cuda_compiler: +- nvcc +cuda_compiler_version: +- '9.2' +cxx_compiler: +- gxx +cxx_compiler_version: +- '7' +docker_image: +- condaforge/linux-anvil-cuda:9.2 +gflags: +- '2.2' +glog: +- 0.4.0 +grpc_cpp: +- '1.30' +libprotobuf: +- '3.13' +lz4_c: +- 1.9.2 +numpy: +- '1.16' +orc: +- 1.6.4 +pin_run_as_build: + boost-cpp: + max_pin: x.x.x + bzip2: + max_pin: x + lz4-c: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.9.* *_cpython +re2: +- 2020.08.01 +snappy: +- '1' +target_platform: +- linux-64 +zip_keys: +- - cuda_compiler_version + - docker_image +zlib: +- '1.2' +zstd: +- '1.4' diff --git a/dev/tasks/conda-recipes/.ci_support/linux_cuda_compiler_versionNonepython3.9.____cpython.yaml b/dev/tasks/conda-recipes/.ci_support/linux_cuda_compiler_versionNonepython3.9.____cpython.yaml new file mode 100644 index 0000000000000..42b82ff7ce95c --- /dev/null +++ b/dev/tasks/conda-recipes/.ci_support/linux_cuda_compiler_versionNonepython3.9.____cpython.yaml @@ -0,0 +1,65 @@ +aws_sdk_cpp: +- 1.8.54 +boost_cpp: +- 1.74.0 +bzip2: +- '1' +c_compiler: +- gcc +c_compiler_version: +- '7' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cuda_compiler: +- nvcc +cuda_compiler_version: +- None +cxx_compiler: +- gxx +cxx_compiler_version: +- '7' +docker_image: +- condaforge/linux-anvil-comp7 +gflags: +- '2.2' +glog: +- 0.4.0 +grpc_cpp: +- '1.30' +libprotobuf: +- '3.13' +lz4_c: +- 1.9.2 +numpy: +- '1.16' +orc: +- 1.6.4 +pin_run_as_build: + boost-cpp: + max_pin: x.x.x + bzip2: + max_pin: x + lz4-c: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.9.* *_cpython +re2: +- 2020.08.01 +snappy: +- '1' +target_platform: +- linux-64 +zip_keys: +- - cuda_compiler_version + - docker_image +zlib: +- '1.2' +zstd: +- '1.4' diff --git a/dev/tasks/conda-recipes/.ci_support/osx_python3.9.____cpython.yaml b/dev/tasks/conda-recipes/.ci_support/osx_python3.9.____cpython.yaml new file mode 100644 index 0000000000000..b44b7201e4c72 --- /dev/null +++ b/dev/tasks/conda-recipes/.ci_support/osx_python3.9.____cpython.yaml @@ -0,0 +1,62 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +aws_sdk_cpp: +- 1.8.54 +boost_cpp: +- 1.74.0 +bzip2: +- '1' +c_compiler: +- clang +c_compiler_version: +- '10' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cuda_compiler_version: +- None +cxx_compiler: +- clangxx +cxx_compiler_version: +- '10' +gflags: +- '2.2' +glog: +- 0.4.0 +grpc_cpp: +- '1.30' +libprotobuf: +- '3.13' +lz4_c: +- 1.9.2 +macos_machine: +- x86_64-apple-darwin13.4.0 +numpy: +- '1.16' +orc: +- 1.6.4 +pin_run_as_build: + boost-cpp: + max_pin: x.x.x + bzip2: + max_pin: x + lz4-c: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.9.* *_cpython +re2: +- 2020.08.01 +snappy: +- '1' +target_platform: +- osx-64 +zlib: +- '1.2' +zstd: +- '1.4' diff --git a/dev/tasks/conda-recipes/.ci_support/win_python3.9.____cpython.yaml b/dev/tasks/conda-recipes/.ci_support/win_python3.9.____cpython.yaml new file mode 100644 index 0000000000000..2cd7ce014c2e5 --- /dev/null +++ b/dev/tasks/conda-recipes/.ci_support/win_python3.9.____cpython.yaml @@ -0,0 +1,52 @@ +aws_sdk_cpp: +- 1.8.54 +boost_cpp: +- 1.74.0 +bzip2: +- '1' +c_compiler: +- vs2017 +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +cuda_compiler_version: +- None +cxx_compiler: +- vs2017 +gflags: +- '2.2' +glog: +- 0.4.0 +grpc_cpp: +- '1.30' +libprotobuf: +- '3.13' +lz4_c: +- 1.9.2 +numpy: +- '1.16' +pin_run_as_build: + boost-cpp: + max_pin: x.x.x + bzip2: + max_pin: x + lz4-c: + max_pin: x.x.x + python: + min_pin: x.x + max_pin: x.x + zlib: + max_pin: x.x +python: +- 3.9.* *_cpython +re2: +- 2020.08.01 +snappy: +- '1' +target_platform: +- win-64 +zlib: +- '1.2' +zstd: +- '1.4' diff --git a/dev/tasks/docker-tests/github.linux.yml b/dev/tasks/docker-tests/github.linux.yml index 1bc9e0742d7e4..c5851ed73efa4 100644 --- a/dev/tasks/docker-tests/github.linux.yml +++ b/dev/tasks/docker-tests/github.linux.yml @@ -42,7 +42,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v1 with: - python-version: 3.8 + python-version: 3.9 - name: Setup Archery run: pip install -e arrow/dev/archery[docker] - name: Execute Docker Build diff --git a/dev/tasks/homebrew-formulae/apache-arrow.rb b/dev/tasks/homebrew-formulae/apache-arrow.rb index 31f0def48ac34..d544690aed964 100644 --- a/dev/tasks/homebrew-formulae/apache-arrow.rb +++ b/dev/tasks/homebrew-formulae/apache-arrow.rb @@ -16,7 +16,7 @@ class ApacheArrow < Formula depends_on "numpy" depends_on "openssl@1.1" depends_on "protobuf" - depends_on "python@3.8" + depends_on "python@3.9" depends_on "rapidjson" depends_on "snappy" depends_on "thrift" @@ -40,7 +40,7 @@ def install -DARROW_WITH_SNAPPY=ON -DARROW_WITH_BROTLI=ON -DARROW_INSTALL_NAME_RPATH=OFF - -DPYTHON_EXECUTABLE=#{Formula["python@3.8"].bin/"python3"} + -DPYTHON_EXECUTABLE=#{Formula["python@3.9"].bin/"python3"} ] # Re-enable -DARROW_S3=ON and add back aws-sdk-cpp to depends_on in ARROW-6437 diff --git a/dev/tasks/python-wheels/travis.osx.yml b/dev/tasks/python-wheels/travis.osx.yml index 99e8591d013db..63f8d4071ff9b 100644 --- a/dev/tasks/python-wheels/travis.osx.yml +++ b/dev/tasks/python-wheels/travis.osx.yml @@ -31,7 +31,7 @@ addons: - git - openssl@1.1 - protobuf - - python@3.8 + - python@3.9 - thrift - wget update: false @@ -52,7 +52,7 @@ env: before_install: - git clone https://github.com/matthew-brett/multibuild - - git -C multibuild checkout 68a4af043e2adb0d9353d4a0e1f3d871203237aa + - git -C multibuild checkout 8882150df6529658700b66bec124dfb77eefca26 - git clone --no-checkout {{ arrow.remote }} arrow - git -C arrow fetch -t {{ arrow.remote }} {{ arrow.branch }} @@ -84,8 +84,8 @@ install: - deactivate # crossbow dependencies for deployment - - /usr/local/opt/python@3.8/libexec/bin/pip install click ruamel.yaml setuptools_scm github3.py toolz requests[security] - - /usr/local/opt/python@3.8/libexec/bin/python arrow/dev/tasks/crossbow.py + - /usr/local/opt/python@3.9/libexec/bin/pip install click ruamel.yaml setuptools_scm github3.py toolz requests[security] + - /usr/local/opt/python@3.9/libexec/bin/python arrow/dev/tasks/crossbow.py --queue-path $(pwd) --queue-remote {{ queue_remote_url }} upload-artifacts diff --git a/dev/tasks/python-wheels/win-build.bat b/dev/tasks/python-wheels/win-build.bat index 449834a83603b..cfaaa78aea740 100644 --- a/dev/tasks/python-wheels/win-build.bat +++ b/dev/tasks/python-wheels/win-build.bat @@ -110,6 +110,6 @@ set ARROW_TEST_DATA=%ARROW_SRC%\testing\data %PYTHON_INTERPRETER% -c "import pyarrow.dataset" || exit /B @rem run the python tests, but disable the cython because there is a linking -@rem issue on python 3.8 +@rem issue on python 3.9 set PYARROW_TEST_CYTHON=OFF %PYTHON_INTERPRETER% -m pytest -rs --pyargs pyarrow || exit /B diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index e4d3d0a607894..3b7c14416508f 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -160,6 +160,15 @@ tasks: - arrow-cpp-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.tar.bz2 - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.tar.bz2 + conda-linux-gcc-py39-cpu: + ci: azure + template: conda-recipes/azure.linux.yml + params: + config: linux_cuda_compiler_versionNonepython3.9.____cpython + artifacts: + - arrow-cpp-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.tar.bz2 + - pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.tar.bz2 + conda-linux-gcc-py36-cuda: ci: azure template: conda-recipes/azure.linux.yml @@ -187,6 +196,15 @@ tasks: - arrow-cpp-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.tar.bz2 - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cuda.tar.bz2 + conda-linux-gcc-py39-cuda: + ci: azure + template: conda-recipes/azure.linux.yml + params: + config: linux_cuda_compiler_version9.2python3.9.____cpython + artifacts: + - arrow-cpp-{no_rc_version}-py39(h[a-z0-9]+)_0_cuda.tar.bz2 + - pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cuda.tar.bz2 + conda-linux-gcc-py36-aarch64: ci: drone template: conda-recipes/drone.yml @@ -214,6 +232,15 @@ tasks: - arrow-cpp-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.tar.bz2 - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.tar.bz2 + conda-linux-gcc-py39-aarch64: + ci: drone + template: conda-recipes/drone.yml + params: + config: linux_aarch64_python3.9.____cpython + artifacts: + - arrow-cpp-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.tar.bz2 + - pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.tar.bz2 + ############################## Conda OSX #################################### conda-osx-clang-py36: @@ -243,6 +270,15 @@ tasks: - arrow-cpp-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.tar.bz2 - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.tar.bz2 + conda-osx-clang-py39: + ci: azure + template: conda-recipes/azure.osx.yml + params: + config: osx_python3.9.____cpython + artifacts: + - arrow-cpp-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.tar.bz2 + - pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.tar.bz2 + ############################## Conda Windows ################################ conda-win-vs2017-py36: @@ -272,6 +308,15 @@ tasks: - arrow-cpp-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.tar.bz2 - pyarrow-{no_rc_version}-py38(h[a-z0-9]+)_0_cpu.tar.bz2 + conda-win-vs2017-py39: + ci: azure + template: conda-recipes/azure.win.yml + params: + config: win_python3.9.____cpython + artifacts: + - arrow-cpp-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.tar.bz2 + - pyarrow-{no_rc_version}-py39(h[a-z0-9]+)_0_cpu.tar.bz2 + ############################## Wheel Linux ################################## wheel-manylinux1-cp35m: @@ -330,6 +375,20 @@ tasks: artifacts: - pyarrow-{no_rc_version}-cp38-cp38-manylinux1_x86_64.whl + wheel-manylinux1-cp39: + ci: azure + template: python-wheels/azure.linux.yml + params: + python_version: 3.9 + unicode_width: 16 + wheel_tag: manylinux1 + wheel_dir: manylinux1 + test_docker_images: + - python:3.9 + test_remove_system_libs: true + artifacts: + - pyarrow-{no_rc_version}-cp39-cp39-manylinux1_x86_64.whl + wheel-manylinux2010-cp35m: ci: azure template: python-wheels/azure.linux.yml @@ -386,6 +445,20 @@ tasks: artifacts: - pyarrow-{no_rc_version}-cp38-cp38-manylinux2010_x86_64.whl + wheel-manylinux2010-cp39: + ci: azure + template: python-wheels/azure.linux.yml + params: + python_version: 3.9 + unicode_width: 16 + wheel_tag: manylinux2010 + wheel_dir: manylinux201x + test_docker_images: + - python:3.9 + test_remove_system_libs: true + artifacts: + - pyarrow-{no_rc_version}-cp39-cp39-manylinux2010_x86_64.whl + wheel-manylinux2014-cp35m: ci: azure template: python-wheels/azure.linux.yml @@ -442,6 +515,20 @@ tasks: artifacts: - pyarrow-{no_rc_version}-cp38-cp38-manylinux2014_x86_64.whl + wheel-manylinux2014-cp39: + ci: azure + template: python-wheels/azure.linux.yml + params: + python_version: 3.9 + unicode_width: 16 + wheel_tag: manylinux2014 + wheel_dir: manylinux201x + test_docker_images: + - python:3.9 + test_remove_system_libs: true + artifacts: + - pyarrow-{no_rc_version}-cp39-cp39-manylinux2014_x86_64.whl + ############################## Wheel OSX #################################### wheel-osx-mavericks-cp35m: @@ -484,6 +571,16 @@ tasks: artifacts: - pyarrow-{no_rc_version}-cp38-cp38-macosx_10_9_x86_64.whl + wheel-osx-mavericks-cp39: + ci: travis + template: python-wheels/travis.osx.yml + params: + python_version: 3.9 + macos_deployment_target: 10.9 + arrow_s3: "OFF" + artifacts: + - pyarrow-{no_rc_version}-cp39-cp39-macosx_10_9_x86_64.whl + # enable S3 support from macOS 10.13 so we don't need to bundle curl, crypt and ssl wheel-osx-high-sierra-cp35m: @@ -526,6 +623,16 @@ tasks: artifacts: - pyarrow-{no_rc_version}-cp38-cp38-macosx_10_13_x86_64.whl + wheel-osx-high-sierra-cp39: + ci: travis + template: python-wheels/travis.osx.yml + params: + python_version: 3.9 + macos_deployment_target: 10.13 + arrow_s3: "ON" + artifacts: + - pyarrow-{no_rc_version}-cp39-cp39-macosx_10_13_x86_64.whl + ############################## Wheel Windows ################################ wheel-win-cp35m: @@ -568,6 +675,16 @@ tasks: artifacts: - pyarrow-{no_rc_version}-cp38-cp38-win_amd64.whl + wheel-win-cp39: + ci: appveyor + template: python-wheels/appveyor.yml + params: + script: win-build.bat + python_version: 3.9 + python_interpreter: C:\Python38-x64\python.exe + artifacts: + - pyarrow-{no_rc_version}-cp39-cp39-win_amd64.whl + ############################## Linux PKGS #################################### debian-stretch-amd64: diff --git a/docker-compose.yml b/docker-compose.yml index 90fdb970c2d04..38b64d7763196 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -474,7 +474,7 @@ services: # docker-compose run --rm conda-python # Parameters: # ARCH: amd64, arm32v7 - # PYTHON: 3.6, 3.7, 3.8 + # PYTHON: 3.6, 3.7, 3.8, 3.9 image: ${REPO}:${ARCH}-conda-python-${PYTHON} build: context: . diff --git a/python/manylinux1/Dockerfile-x86_64_base b/python/manylinux1/Dockerfile-x86_64_base index 15487e02fbcb5..8bc9cd2eb0f85 100644 --- a/python/manylinux1/Dockerfile-x86_64_base +++ b/python/manylinux1/Dockerfile-x86_64_base @@ -17,7 +17,7 @@ # See https://quay.io/repository/pypa/manylinux1_x86_64?tab=tags # to update base image. -FROM quay.io/pypa/manylinux1_x86_64:2020-03-07-9c5ba95 +FROM quay.io/pypa/manylinux1_x86_64:2020-10-06-c4a4a7c # Install dependencies RUN yum install -y xz ccache flex && yum clean all @@ -89,7 +89,7 @@ RUN /build_glog.sh ENV GLOG_HOME /usr/local WORKDIR / -RUN git clone https://github.com/matthew-brett/multibuild.git && cd multibuild && git checkout 68a4af043e2adb0d9353d4a0e1f3d871203237aa +RUN git clone https://github.com/matthew-brett/multibuild.git && cd multibuild && git checkout 8882150df6529658700b66bec124dfb77eefca26 # Remove unneeded Python versions RUN rm -rf /opt/_internal/cpython-2.7.* diff --git a/python/manylinux1/Dockerfile-x86_64_ubuntu b/python/manylinux1/Dockerfile-x86_64_ubuntu index b038f32af2a3f..290fbc1a68bc6 100644 --- a/python/manylinux1/Dockerfile-x86_64_ubuntu +++ b/python/manylinux1/Dockerfile-x86_64_ubuntu @@ -34,7 +34,7 @@ ADD scripts/install_cmake.sh / RUN /install_cmake.sh WORKDIR / -RUN git clone https://github.com/matthew-brett/multibuild.git && cd multibuild && git checkout 68a4af043e2adb0d9353d4a0e1f3d871203237aa +RUN git clone https://github.com/matthew-brett/multibuild.git && cd multibuild && git checkout 8882150df6529658700b66bec124dfb77eefca26 ADD scripts/build_openssl.sh / RUN /build_openssl.sh diff --git a/python/manylinux1/build_arrow.sh b/python/manylinux1/build_arrow.sh index 5ffd25c5009f0..9cea4a4d18b51 100755 --- a/python/manylinux1/build_arrow.sh +++ b/python/manylinux1/build_arrow.sh @@ -62,7 +62,7 @@ export PYARROW_CMAKE_OPTIONS='-DTHRIFT_HOME=/usr -DBoost_NAMESPACE=arrow_boost - mkdir -p /io/dist # Must pass PYTHON_VERSION env variable -# possible values are: 3.5 3.6 3.7 3.8 +# possible values are: 3.5 3.6 3.7 3.8 3.9 UNICODE_WIDTH=32 # Dummy value, irrelevant for Python 3 CPYTHON_PATH="$(cpython_path ${PYTHON_VERSION} ${UNICODE_WIDTH})" diff --git a/python/manylinux201x/Dockerfile-x86_64_base_2010 b/python/manylinux201x/Dockerfile-x86_64_base_2010 index 0d7d497ef5eb7..99883b711bd4c 100644 --- a/python/manylinux201x/Dockerfile-x86_64_base_2010 +++ b/python/manylinux201x/Dockerfile-x86_64_base_2010 @@ -17,7 +17,7 @@ # See https://quay.io/repository/pypa/manylinux2010_x86_64?tab=tags # to update base image. -FROM quay.io/pypa/manylinux2010_x86_64:2020-03-07-1825e8f +FROM quay.io/pypa/manylinux2010_x86_64:2020-10-06-786a931 # Install build dependencies RUN yum install -y xz bison ccache flex wget @@ -32,7 +32,7 @@ ADD scripts/build_zlib.sh / RUN /build_zlib.sh WORKDIR / -RUN git clone https://github.com/matthew-brett/multibuild.git && cd multibuild && git checkout 68a4af043e2adb0d9353d4a0e1f3d871203237aa +RUN git clone https://github.com/matthew-brett/multibuild.git && cd multibuild && git checkout 8882150df6529658700b66bec124dfb77eefca26 # Remove unneeded Python versions RUN rm -rf /opt/_internal/cpython-2.7.* diff --git a/python/manylinux201x/Dockerfile-x86_64_base_2014 b/python/manylinux201x/Dockerfile-x86_64_base_2014 index d8c71ad9c7f51..93bafc40f8b31 100644 --- a/python/manylinux201x/Dockerfile-x86_64_base_2014 +++ b/python/manylinux201x/Dockerfile-x86_64_base_2014 @@ -17,7 +17,7 @@ # See https://quay.io/repository/pypa/manylinux2014_x86_64?tab=tags # to update base image. -FROM quay.io/pypa/manylinux2014_x86_64:2020-03-07-06139da +FROM quay.io/pypa/manylinux2014_x86_64:2020-10-06-b2ca7a1 # Install build dependencies RUN yum install -y xz bison ccache flex wget @@ -32,7 +32,7 @@ ADD scripts/build_zlib.sh / RUN /build_zlib.sh WORKDIR / -RUN git clone https://github.com/matthew-brett/multibuild.git && cd multibuild && git checkout 68a4af043e2adb0d9353d4a0e1f3d871203237aa +RUN git clone https://github.com/matthew-brett/multibuild.git && cd multibuild && git checkout 8882150df6529658700b66bec124dfb77eefca26 # Remove unneeded Python versions RUN rm -rf /opt/_internal/cpython-2.7.* diff --git a/python/manylinux201x/build_arrow.sh b/python/manylinux201x/build_arrow.sh index 2f5134ba2f1ca..d7c74b3ae1e3e 100755 --- a/python/manylinux201x/build_arrow.sh +++ b/python/manylinux201x/build_arrow.sh @@ -62,7 +62,7 @@ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/arrow-dist/lib/pkgconfig mkdir -p /io/dist # Must pass PYTHON_VERSION env variable -# possible values are: 3.5 3.6 3.7 3.8 +# possible values are: 3.5 3.6 3.7 3.8 3.9 UNICODE_WIDTH=32 # Dummy value, irrelevant for Python 3 CPYTHON_PATH="$(cpython_path ${PYTHON_VERSION} ${UNICODE_WIDTH})" diff --git a/python/pyproject.toml b/python/pyproject.toml index 4eee45767d0c2..039ae555fbbab 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -19,7 +19,9 @@ requires = [ "cython >= 0.29", "numpy==1.14.5; python_version<'3.7'", - "numpy==1.16.0; python_version>='3.7'", + "numpy==1.16.0; python_version=='3.7'", + "numpy==1.17.3; python_version=='3.8'", + "numpy==1.19.2; python_version>='3.9'", "setuptools", "setuptools_scm", "wheel" diff --git a/python/requirements-wheel-build.txt b/python/requirements-wheel-build.txt index 67a98b03f3c9b..237bf5738d2d5 100644 --- a/python/requirements-wheel-build.txt +++ b/python/requirements-wheel-build.txt @@ -1,5 +1,7 @@ cython>=0.29.11 -numpy==1.14.5; python_version < "3.8" -numpy==1.17.3; python_version >= "3.8" +numpy==1.14.5; python_version < "3.7" +numpy==1.16.0; python_version == "3.7" +numpy==1.17.3; python_version == "3.8" +numpy==1.19.2; python_version >= "3.9" setuptools_scm wheel diff --git a/python/requirements-wheel-test.txt b/python/requirements-wheel-test.txt index 07a494654cfed..2154e524e6699 100644 --- a/python/requirements-wheel-test.txt +++ b/python/requirements-wheel-test.txt @@ -2,8 +2,10 @@ cffi cython hypothesis==5.0; python_version <= "3.5.2" hypothesis; python_version > "3.5.2" -numpy==1.14.5; python_version < "3.8" -numpy==1.17.3; python_version >= "3.8" +numpy==1.14.5; python_version < "3.7" +numpy==1.16.0; python_version == "3.7" +numpy==1.17.3; python_version == "3.8" +numpy==1.19.2; python_version >= "3.9" pandas==0.24; python_version <= "3.5.2" pandas<1.1.0; python_version > "3.5.2" and python_version < "3.8" pandas; python_version >= "3.8" diff --git a/python/setup.py b/python/setup.py index c29631c51dd3a..084e6a2628aa8 100755 --- a/python/setup.py +++ b/python/setup.py @@ -619,6 +619,7 @@ def has_ext_modules(foo): 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', ], license='Apache License, Version 2.0', maintainer='Apache Arrow Developers',