| ############################################################################### | |
| # 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. | |
| ############################################################################### | |
| # This file has additional packages to install in Beam's containers. | |
| # Do not specify dependencies, which are already in Beam's setup.py. | |
| # See generate_pip_requirements_list.sh to find which extras (e.g. gcp) are used. | |
| # Do not specify a constrained version without a particular reason, so that | |
| # we can pick up recent versions when regenerating the requirements. | |
| # Consider constraining requirements of Beam itself when necessary. | |
| bs4 # Commonly used HTML processing tool. | |
| cython>=3,<4 | |
| # future is no longer a Beam dependency, but is an implicit dependency in | |
| # some versions of libraries that launch Beam pipelines, like tensorflow-transform. | |
| # Leaving 'future' in our containers for now prevent breaking tft users. | |
| future | |
| # google-cloud-profiler is not compatible with python 3.13 (and is not | |
| # explicitly compatible with python 3.12) | |
| google-cloud-profiler;python_version<="3.12" | |
| # Without google-cloud-profiler at python 3.13+, we need to manually add its | |
| # transitive dependency google-api-python-client as it is required by internal | |
| # tests | |
| google-api-python-client;python_version>="3.13" | |
| guppy3 | |
| # Explicitly pin memray to use a version compatible with postprocessing logic in Beam. | |
| memray==1.19.3 | |
| mmh3 # Optimizes execution of some Beam codepaths. TODO: Make it Beam's dependency. | |
| nltk # Commonly used for natural language processing. | |
| pystack | |
| google-crc32c | |
| scipy | |
| scikit-learn | |
| build>=1.0,<2 # tool to build sdist from setup.py in stager. | |
| # Dill 0.3.1.1 is included as a base manual requirement so is avaiable to users | |
| # with pickle_library=dill, but apache-beam does not have a hard dependency. | |
| dill>=0.3.1.1,<0.3.2 |