Skip to content

Latest commit

 

History

History
172 lines (121 loc) · 5.16 KB

File metadata and controls

172 lines (121 loc) · 5.16 KB

Contributing to the Hiero Python SDK

Thank you for your interest in contributing to the Hiero Python SDK!

Table of Contents


Ways to Contribute

💻 Code Contributions

Get Started By Reading:

Quick Start:

  1. Find/create an issue → Issues
  2. Get assigned (comment "I'd like to work on this")
  3. Follow Setup Guide
  4. Follow Workflow Guide
  5. GPG and DCO sign commits Quickstart Signing
  6. Add a Changelog Entry Quickstart Changelog
  7. Submit a PR Quickstart Submit PR

Detailed Docs:

⚠️ A Note on Breaking Changes

Avoid breaking changes when possible. If necessary:

  1. Create a new issue explaining the benefits
  2. Wait for approval
  3. Submit as a separate PR with:
    • Reasons for the change
    • Backwards compatibility plan
    • Tests
    • Changelog documentation

🐛 Bug Reports

Found a bug? Help us fix it!

See hereBug Reports


💡 Feature Requests

Have an idea? We'd love to hear it!

  1. Search existing requests - Avoid duplicates
  2. Create a Feature Request
  3. Describe:
    • What problem does it solve?
    • How should it work?
    • Example code (if applicable)

Want to implement it yourself? Comment on the issue and we'll assign you!


📝 Blog Posts

Want to write about the Hiero Python SDK?

We welcome blog posts! Whether you're sharing a tutorial, case study, or your experience building with the SDK, we'd love to feature your content.

Quick overview:

Full guide with step-by-step instructions: Blog Post Guide


Developer Resources

Essential Guides

Guide What It Covers
Setup Fork, clone, install, configure
Workflow Branching, committing, PRs
Signing GPG + DCO commit signing
Changelog Writing changelog entries
Checklist Pre-submission checklist
Rebasing Keeping branch updated
Merge Conflicts Resolving conflicts
Types Python type hints
Linting Code quality tools

Cheatsheet

First-Time Setup

# Fork on GitHub, then:
git clone https://github.com/YOUR_USERNAME/hiero-sdk-python.git
cd hiero-sdk-python
git remote add upstream https://github.com/hiero-ledger/hiero-sdk-python.git

# Install dependencies
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
uv run python generate_proto.py

Full setup: Setup Guide

Making a Contribution

# Start new work
git checkout main
git pull upstream main
git checkout -b "name-of-your-issue"

# Make changes, then commit (signed!)
git add .
git commit -S -s -m "feat: add new feature"

# Update changelog
# Edit CHANGELOG.md, add entry under [Unreleased]

# Push and create PR
git push origin "name-of-your-issue"

Full workflow: Workflow Guide

Keeping Branch Updated

git checkout main
git pull upstream main
git checkout your-branch
git rebase main -S

Full guide: Rebasing Guide


Thank you for contributing to the Hiero Python SDK! 🎉