10_submit_pull_request.md

April 13, 2026 ยท View on GitHub

Submitting a Pull Request

Once you have completed your work on a dedicated branch and followed all contribution requirements (Getting Assigned, Synced with upstream, Conventional Commits, DCO and GPG signing, Avoiding Breaking changes, Changelog Entry, Testing), you are ready to submit a pull request (PR) to the Python SDK.

This guide walks you through each step of the PR process.

1. Push Your Branch to Your Fork

Before opening a pull request, make sure your latest commits are pushed to your fork.

  1. Verify you are on your feature branch:
git branch --show-current
  1. If this is the first push for the branch, set upstream tracking:
git push -u origin <your-branch-name>
  1. If the branch already exists on your fork, push normally:
git push origin <your-branch-name>

If you amended commits or rebased and Git rejects your push, use:

git push --force-with-lease origin <your-branch-name>

2. Open a Pull Request to the Python SDK

  1. Navigate to the Python SDK repository.
  2. You will see a banner showing your branch with a "Compare & pull request" button. Click it.
  3. Or manually go to: Pull requests -> New pull request.
  4. If prompted, set:
    • Base repository: the official Python SDK repo
    • Base branch: main (unless the issue specifies otherwise)
    • Head repository: your fork
    • Head branch: your feature branch

3. Write a Clear Pull Request Title and Description

Your pull request title must follow conventional naming: Conventional Commits.

For example: chore: Unit Tests for TokenCreateTransaction

  • Add a brief description and any important notes.
  • IMPORTANT Under Fixes, link the issue the pull request solves.
  • Set it to draft or "ready to review" status and submit.

4. Wait for Checks to Run

We have several workflows that check:

  • Pull Request has a conventional title
  • Changelog entry under the appropriate subheading in [UNRELEASED]
  • Commits are DCO and GPG key signed
  • Unit Tests Pass
  • Integration Tests Pass
  • All Examples Pass

If they are failing and you require help, you can:

  • Contact us on Discord
  • Attend the Python SDK Office Hours using the LFDT Calendar
  • Ask for help on the pull request

All checks should be green before requesting review.

5. Request a Review

  1. Change the status of your pull request from "Draft" to "Ready to Review".
  2. Ensure you have GitHub Copilot set up as a reviewer to help maintainers on the initial review.
  3. Assign maintainers using the request review feature on the top right.

That's it. Wait for feedback and resolve.