DEV Community

Tomoyuki KOYAMA
Tomoyuki KOYAMA

Posted on • Edited on

Automatic Python Code Format with GitHub Actions

This post introduces a method for beautifying Python code with GitHub Actions. The method utilizes three tools: autopep8, Black, isort. In addition, a Pull Request, which contains formatted codes is created by GitHub Actions.

The YAML file shows the configuration of the automatic code formatter.

 name: Format Python Code on: push jobs: python-code-format: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v4 with: python-version: "3.10" architecture: "x64" - name: Display Python version run: python --version - name: Install packages run: pip install black autopep8 isort - name: Formatter run: | black . autopep8 --recursive --in-place --aggressive --aggressive . isort . - name: Create Pull Request uses: peter-evans/create-pull-request@v3 with: commit-message: Auto code format title: Fixes by format action body: This is an auto-generated PR with fixes. labels: automated pr branch: python-code-format-patches 
Enter fullscreen mode Exit fullscreen mode

The summary of this configuration file is shown as follows:

  • Setup Ubuntu 20.04
  • Setup Python 3.10
  • Install Python packages (black, autopep8, isort) by pip
  • Formatting Python Codes
  • Create Pull Request

The CI works as follows:

Image description

Top comments (0)