Apache Beam starter repo for Python

Clone this repo:
  1. 3a26289 Merge pull request #3 from davidcavazos/dependabot by Ahmet Altay · 3 months ago main
  2. 09b3af8 enable dependabot by David Cavazos · 3 months ago
  3. 8ba6cb3 Merge pull request #2 from davidcavazos/test-on-pr by Ahmet Altay · 4 months ago
  4. 543117d test on pull request by David Cavazos · 4 months ago
  5. 9e9a97d Initial commit (#1) by David Cavazos · 4 months ago

Apache Beam starter for Python

If you want to clone this repository to start your own project, you can choose the license you prefer and feel free to delete anything related to the license you are dropping.

Before you begin

Make sure you have a Python 3 development environment ready. If you don't, you can download and install it from the Python downloads page.

We recommend using a virtual environment to isolate your project's dependencies.

# Create a new Python virtual environment.
python -m venv env

# Activate the virtual environment.
source env/bin/activate

While activated, your python and pip commands will point to the virtual environment, so any changes or install dependencies are self-contained.

As a one time setup, let‘s install the project’s dependencies from the requirements.txt file.

# It's always a good idea to update pip before installing dependencies.
pip install -U pip

# Install the project as a local package, this installs all the dependencies as well.
pip install -e .

ℹ️ Once you are done, you can run the deactivate command to go back to your global Python installation.

Running the pipeline

Running your pipeline in Python is as easy as running the script file directly.

# You can run the script file directly.
python main.py

# To run passing command line arguments.
python main.py --input-text="🎉"

# To run the tests.
python -m unittest -v

GitHub Actions automated testing

This project already comes with automated testing via GitHub Actions.

To configure it, look at the .github/workflows/test.yaml file.

Using other runners

To keep this template small, it only includes the Direct Runner.

For a comparison of what each runner currently supports, look at the Beam Capability Matrix.

To add a new runner, visit the runner's page for instructions on how to include it.

Contributing

Thank you for your interest in contributing! All contributions are welcome! 🎉🎊

Please refer to the CONTRIBUTING.md file for more information.

License

This software is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE for details.