Skip to content

Commit af4c1c3

Browse files
Merge branch 'main' into 939-AccountCreateTransaction-support-PrivateKey
Signed-off-by: AntonioCeppellini <128388022+AntonioCeppellini@users.noreply.github.com>
2 parents 54cd7cf + 9be928d commit af4c1c3

29 files changed

+1510
-452
lines changed

.github/workflows/examples.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
egress-policy: audit
2020

2121
- name: Checkout repository
22-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3
22+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8
2323
with:
2424
fetch-depth: 0
2525

.github/workflows/pr-check-changelog.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
changelog-check:
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
15+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
1616
with:
1717
fetch-depth: 0
1818

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
egress-policy: audit
2424

2525
- name: Checkout repository
26-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
26+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2727

2828
- name: Set up Python
2929
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
egress-policy: audit
2828

2929
- name: Checkout repository
30-
uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
30+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3131

3232
- name: Set up Python ${{ matrix.python-version }}
3333
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0

CHANGELOG.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,44 @@ This changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.
77
## [Unreleased]
88

99
### Added
10+
-
1011

12+
### Changed
13+
-
14+
15+
### Fixed
16+
-
17+
18+
### Breaking Change
19+
-
20+
21+
## [0.1.10] - 2025-12-03
22+
23+
### Added
24+
- Added docs/sdk_developers/training/workflow: a training for developers to learn the workflow to contribute to the python SDK.
25+
- Added Improved NFT allowance deletion flow with receipt-based status checks and strict `SPENDER_DOES_NOT_HAVE_ALLOWANCE` verification.
1126
- Add `max_automatic_token_associations`, `staked_account_id`, `staked_node_id` and `decline_staking_reward` fields to `AccountUpdateTransaction` (#801)
1227
- Added docs/sdk_developers/training/setup: a training to set up as a developer to the python sdk
1328
- Add example demonstrating usage of `CustomFeeLimit` in `examples/transaction/custom_fee_limit.py`
1429
- Added `.github/workflows/merge-conflict-bot.yml` to automatically detect and notify users of merge conflicts in Pull Requests.
15-
- Added `.github/workflows/bot-office-hours.yml` to automate the Weekly Office Hour Reminder.
30+
- Added `.github/workflows/bot-office-hours.yml` to automate the Weekly Office Hour Reminder.
1631
- feat: Implement account creation with EVM-style alias transaction example.
1732
- Added validation logic in `.github/workflows/pr-checks.yml` to detect when no new chnagelog entries are added under [Unreleased]
1833
- feat: AccountCreateTransaction now supports both PrivateKey and PublicKey [#939]
34+
- Added validation logic in `.github/workflows/pr-checks.yml` to detect when no new chnagelog entries are added under [Unreleased].
35+
- Support for message chunking in `TopicSubmitMessageTransaction`.
1936

2037
### Changed
38+
2139
- bot workflows to include new changelog entry
2240
- Removed duplicate import of transaction_pb2 in transaction.py
41+
- Refactor `TokenInfo` into an immutable dataclass, remove all setters, and rewrite `_from_proto` as a pure factory for consistent parsing [#800]
2342
- feat: Add string representation method for `CustomFractionalFee` class and update `custom_fractional_fee.py` example.
2443
- Moved query examples to their respective domain folders to improve structure matching.
2544

45+
2646
### Fixed
47+
2748
- fixed workflow: changelog check with improved sensitivity to deletions, additions, new releases
2849

2950
## [0.1.9] - 2025-11-26
@@ -66,6 +87,7 @@ This changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.
6687
- Add `set_token_ids`, `_from_proto`, `_validate_checksum` to TokenAssociateTransaction [#795]
6788
- docs: added `network_and_client.md` with a table of contents, and added external example scripts (`client.py`).
6889

90+
6991
### Changed
7092

7193
- Upgraded step-security/harden-runner v2.13.2
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
## Supporting Infrastructure When Developing for the Python SDK
2+
3+
For the best development experience and smoother support, we strongly recommend installing the following tools when developing for the Python SDK:
4+
5+
Recommended Tools
6+
- [ ] GitHub Desktop
7+
- [ ] Visual Studio Code
8+
- [ ] Pylance
9+
- [ ] GitHub Copilot
10+
11+
However, what may work best for you might be different.
12+
13+
### Github Desktop
14+
GitHub Desktop is a free, user-friendly application that provides a visual interface for Git and GitHub. Instead of running Git commands in a terminal, GitHub Desktop lets you perform common tasks through an intuitive UI.
15+
16+
It allows you to:
17+
- Clone, fork, and manage repositories without using the command line
18+
- Easily create and switch branches
19+
- Visualize commit history and branches in a clear, interactive timeline
20+
- Stage and push local changes with a click
21+
- Resolve merge conflicts with guided prompts
22+
23+
Overall, GitHub Desktop makes Git simpler, safer, and more visual, which is great for maintaining clean, branched pull requests and staying aligned with the rest of the Python SDK team.
24+
25+
### VS Studio Code
26+
VS Code is a workpace that enables:
27+
28+
- Easy project navigation
29+
- Easy file organisation
30+
- Access to a large ecosystem of extensions that plug-in, including Pylance and Github Copilot
31+
32+
It’s the recommended editor for working within this SDK.
33+
34+
#### Pylance
35+
Pylance is a high-performance language server for Python that:
36+
37+
- Improves code quality
38+
- Identifies errors early
39+
- Helps you resolve issues faster
40+
41+
For example, Pylance will underline this in red indicating it is incorrect with a reason:
42+
```python
43+
from hiero_sdk_python.account.token_id import TokenId
44+
```
45+
This is incorrect because token_id.py does not live in /account! Instead, it lives in /tokens
46+
47+
Read our [Pylance Installation Guide](../../pylance.md)
48+
49+
#### Github Copilot
50+
Github Copilot is an AI coding-assistant tool.
51+
52+
GitHub Copilot supports your workflow by:
53+
- Suggesting code snippets and patterns
54+
- Helping predict correct imports
55+
- Maintaining consistent naming and formatting
56+
- Speeding up development
57+
58+
Additionally, since we have Copilot enabled as an automatic reviewer, once you enable Copilot as a reviewer, it will review your pull requests submitted to the Python SDK. This helps maintainers merge changes more quickly and is a great benefit to the project.
59+
60+
61+
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
## Forking the Python SDK
2+
3+
To begin contributing to the Python SDK, you’ll first need your own copy of the repository.
4+
5+
Forking creates a personal, editable version of the SDK under your own GitHub account, where you can safely experiment and prepare pull requests without impacting the Python SDK.
6+
7+
### Steps to Fork the Python SDK
8+
9+
1. Navigate to the Python SDK Repository
10+
11+
Open the [Official Python SDK repository on GitHub](https://github.com/hiero-ledger/hiero-sdk-python)
12+
13+
2. Create Your Fork
14+
Make sure you are logged in to Github. Then, in the top-right of the repository page, click Fork.
15+
16+
GitHub will prompt you to confirm:
17+
- The destination account (your profile)
18+
- The name you want to give your fork (you can keep the default)
19+
20+
Click Create fork.
21+
22+
Your new fork will appear at:
23+
`https://github.com/<your-username>/<repository-name>`
24+
This is your copy of the Python SDK. You can also access it from your repository section on github online.
25+
26+
27+
3. Clone Your Fork Locally
28+
29+
You now have an online copy of the Python SDK but you also need a local copy to work on the code.
30+
31+
Using GitHub Desktop (recommended):
32+
1. Open GitHub Desktop.
33+
2. Go to File → Clone Repository
34+
3. Select the fork you just created under the “Your Repositories” tab.
35+
4. Choose a folder location on your machine and click Clone.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
## Syncing Your Repo with the Upstream Python SDK
2+
3+
Development at the Python SDK can be fast meaning new changes are added frequently.
4+
5+
It is important to frequently pull new changes at the Python SDK to your local repository to ensure you are working on the most updated code and avoid merge_conflicts.
6+
7+
To do this:
8+
9+
1. Link the Upstream Python SDK Remote with yours
10+
Link your fork to the upstream original Python SDK repository so you can easily bring in new updates from main.
11+
12+
```bash
13+
git remote add upstream https://github.com/hiero-ledger/hiero-sdk-python.git
14+
```
15+
16+
Then verify it is correctly set:
17+
```bash
18+
git remote -v
19+
```
20+
21+
You should now see:
22+
origin → your fork
23+
upstream → the official Python SDK repo
24+
25+
2. Before starting work and during a pull request, always fetch new changes:
26+
git checkout main
27+
git fetch upstream
28+
git pull upstream main
29+
30+
Then rebase on your working branch to apply the new changes:
31+
git checkout mybranch
32+
git rebase main -S
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
## Getting Assigned to an Issue
2+
3+
It is important to be assigned an issue before starting work on it or creating a pull request.
4+
5+
We recommend Good First Issues for developers new to the Python SDK. These are easier and better documented tasks.
6+
7+
To do that,
8+
1. Select a `Good First Issue` that interests you and is not yet assigned at [Python SDK Issues](https://github.com/hiero-ledger/hiero-sdk-python/issues)
9+
2. Write a comment at the bottom of the issue page asking "I want to be assigned to this issue"
10+
3. A maintainer will shortly assign you to the issue
11+
12+
Congratulations! You are assigned and can now get started on the work.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## Working on a Newly Assigned Issue in a Branch
2+
3+
Once you are assigned to an issue, you can get started working on it.
4+
5+
We require developers to work on a new branch for each new issue they are working on. This helps to avoid major sync issues and keep history clean.
6+
7+
Before you create a branch, remember to pull in all recent changes from main:
8+
```bash
9+
git checkout main
10+
git fetch upstream
11+
git pull upstream main
12+
```
13+
14+
Then create a branch:
15+
```bash
16+
git checkout -b my-new-branch-name
17+
```
18+
19+
Commit all your changes on this new branch, then publish your branch and submit a pull request.
20+
21+

0 commit comments

Comments
 (0)