Skip to content

Commit

Permalink
Add a container for Python 3.12. (#31216)
Browse files Browse the repository at this point in the history
* Add a container for py312.

* fixup: bump the upper version.
  • Loading branch information
tvalentyn authored May 9, 2024
1 parent 7ed9438 commit 057eb06
Show file tree
Hide file tree
Showing 4 changed files with 191 additions and 13 deletions.
23 changes: 10 additions & 13 deletions sdks/python/container/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ applyGoNature()

description = "Apache Beam :: SDKs :: Python :: Container"
int min_python_version=8
int max_python_version=11
int max_python_version=12

configurations {
sdkSourceTarball
Expand All @@ -38,10 +38,9 @@ goBuild {
}

tasks.register("buildAll") {
dependsOn ':sdks:python:container:py38:docker'
dependsOn ':sdks:python:container:py39:docker'
dependsOn ':sdks:python:container:py310:docker'
dependsOn ':sdks:python:container:py311:docker'
for(int ver=min_python_version; ver<=max_python_version; ++ver) {
dependsOn ':sdks:python:container:py3' + ver + ':docker'
}
}

for(int i=min_python_version; i<=max_python_version; ++i) {
Expand All @@ -68,17 +67,15 @@ for(int i=min_python_version; i<=max_python_version; ++i) {
}

tasks.register("pushAll") {
dependsOn ':sdks:python:container:push38'
dependsOn ':sdks:python:container:push39'
dependsOn ':sdks:python:container:push310'
dependsOn ':sdks:python:container:push311'
for(int ver=min_python_version; ver<=max_python_version; ++ver) {
dependsOn ':sdks:python:container:push3' + ver
}
}

tasks.register("generatePythonRequirementsAll") {
dependsOn ':sdks:python:container:py38:generatePythonRequirements'
dependsOn ':sdks:python:container:py39:generatePythonRequirements'
dependsOn ':sdks:python:container:py310:generatePythonRequirements'
dependsOn ':sdks:python:container:py311:generatePythonRequirements'
for(int ver=min_python_version; ver<=max_python_version; ++ver) {
dependsOn ':sdks:python:container:py3' + ver + ':generatePythonRequirements'
}
}

artifacts {
Expand Down
152 changes: 152 additions & 0 deletions sdks/python/container/py312/base_image_requirements.txt
Original file line number Diff line number Diff line change
@@ -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.

# Autogenerated requirements file for Apache Beam py312 container image.
# Run ./gradlew :sdks:python:container:generatePythonRequirementsAll to update.
# Do not edit manually, adjust ../base_image_requirements_manual.txt or
# Apache Beam's setup.py instead, and regenerate the list.
# You will need Python interpreters for all versions supported by Beam, see:
# https://s.apache.org/beam-python-dev-wiki
# Reach out to a committer if you need help.

annotated-types==0.6.0
attrs==23.2.0
beautifulsoup4==4.12.3
bs4==0.0.2
build==1.2.1
cachetools==5.3.3
certifi==2024.2.2
cffi==1.16.0
charset-normalizer==3.3.2
click==8.1.7
cloudpickle==2.2.1
cramjam==2.8.3
crcmod==1.7
cryptography==42.0.7
Cython==0.29.37
deprecation==2.1.0
dill==0.3.1.1
dnspython==2.6.1
docker==7.0.0
docopt==0.6.2
docstring_parser==0.16
execnet==2.1.1
fastavro==1.9.4
fasteners==0.19
freezegun==1.5.0
future==1.0.0
google-api-core==2.19.0
google-api-python-client==2.128.0
google-apitools==0.5.31
google-auth==2.29.0
google-auth-httplib2==0.2.0
google-cloud-aiplatform==1.50.0
google-cloud-bigquery==3.22.0
google-cloud-bigquery-storage==2.25.0
google-cloud-bigtable==2.23.1
google-cloud-core==2.4.1
google-cloud-datastore==2.19.0
google-cloud-dlp==3.16.0
google-cloud-language==2.13.3
google-cloud-profiler==4.1.0
google-cloud-pubsub==2.21.1
google-cloud-pubsublite==1.10.0
google-cloud-recommendations-ai==0.10.10
google-cloud-resource-manager==1.12.3
google-cloud-spanner==3.46.0
google-cloud-storage==2.16.0
google-cloud-videointelligence==2.13.3
google-cloud-vision==3.7.2
google-crc32c==1.5.0
google-resumable-media==2.7.0
googleapis-common-protos==1.63.0
greenlet==3.0.3
grpc-google-iam-v1==0.13.0
grpc-interceptor==0.15.4
grpcio==1.63.0
grpcio-status==1.62.2
guppy3==3.1.4.post1
hdfs==2.7.3
httplib2==0.22.0
hypothesis==6.100.5
idna==3.7
iniconfig==2.0.0
joblib==1.4.2
jsonpickle==3.0.4
jsonschema==4.22.0
jsonschema-specifications==2023.12.1
mmh3==4.1.0
mock==5.1.0
nltk==3.8.1
nose==1.3.7
numpy==1.26.4
oauth2client==4.1.3
objsize==0.7.0
orjson==3.10.3
overrides==7.7.0
packaging==24.0
pandas==2.1.4
parameterized==0.9.0
pluggy==1.5.0
proto-plus==1.23.0
protobuf==4.25.3
psycopg2-binary==2.9.9
pyarrow==14.0.2
pyarrow-hotfix==0.6
pyasn1==0.6.0
pyasn1_modules==0.4.0
pycparser==2.22
pydantic==2.7.1
pydantic_core==2.18.2
pydot==1.4.2
PyHamcrest==2.1.0
pymongo==4.7.1
PyMySQL==1.1.0
pyparsing==3.1.2
pyproject_hooks==1.1.0
pytest==7.4.4
pytest-timeout==2.3.1
pytest-xdist==3.6.1
python-dateutil==2.9.0.post0
python-snappy==0.7.1
pytz==2024.1
PyYAML==6.0.1
redis==5.0.4
referencing==0.35.1
regex==2024.4.28
requests==2.31.0
requests-mock==1.12.1
rpds-py==0.18.1
rsa==4.9
scikit-learn==1.4.2
scipy==1.13.0
setuptools==69.5.1
shapely==2.0.4
six==1.16.0
sortedcontainers==2.4.0
soupsieve==2.5
SQLAlchemy==2.0.30
sqlparse==0.5.0
tenacity==8.3.0
testcontainers==3.7.1
threadpoolctl==3.5.0
tqdm==4.66.4
typing_extensions==4.11.0
tzdata==2024.1
uritemplate==4.1.1
urllib3==2.2.1
wheel==0.43.0
wrapt==1.16.0
zstandard==0.22.0
28 changes: 28 additions & 0 deletions sdks/python/container/py312/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* 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.
*/

plugins {
id 'base'
id 'org.apache.beam.module'
}
applyDockerNature()
applyPythonNature()

pythonVersion = '3.12'

apply from: "../common.gradle"
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ include(":sdks:python:container:py38")
include(":sdks:python:container:py39")
include(":sdks:python:container:py310")
include(":sdks:python:container:py311")
include(":sdks:python:container:py312")
include(":sdks:python:expansion-service-container")
include(":sdks:python:test-suites:dataflow")
include(":sdks:python:test-suites:dataflow:py38")
Expand Down

0 comments on commit 057eb06

Please sign in to comment.