Skip to content

[Advancement] Generate idiomatic Python client bindings for Soroban contracts #720

Description

@Nanle-code

Objective

Implement Python binding generation that produces installable, typed client modules for contract interaction.

Target area

src/utils/bindings.rs, client.py

Context

Python is widely used for scripting, analytics, and ops automation against Stellar. Empty stubs leave a clear gap.

Requirements

  • Emit type-hinted Python modules compatible with Python 3.10+
  • Support sync and optional async call paths where feasible
  • Package metadata suitable for local pip install from generated output

Acceptance criteria

  • Generator produces importable Python client code from a sample contract
  • Tests validate method naming, argument encoding, and error surfaces
  • Docs describe generation and a minimal invoke example

Pull request merge requirements

Pull requests that resolve this issue must not be merged until all of the following are true:

  1. All required CI checks are green on the latest commit of the PR (build, tests, lint/format, and any workflow jobs required by branch protection).
  2. The branch has no merge conflicts with the target branch (master / default), and a clean merge or rebase is possible without unresolved conflicts.
  3. Review feedback is addressed, and the change remains focused on this issue’s acceptance criteria.

Contributors should run the local CI-equivalent checks before opening or updating the PR (see CI_ENFORCEMENT.md and CONTRIBUTING.md).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions