Skip to content

Conversation

@matoous
Copy link
Collaborator

@matoous matoous commented Jan 24, 2026

Package names such as shared are non-idiomatic for Go and there's no way for us to move them under the root sumup package without running into circular dependency issues. Refactor the SDK to have a flat structure with clients defined in the root sumup package. This makes it easier to ensure we don't have duplicate definitions of schemas where one will do. The method calls are still nice with e.g. client.Checkouts.Create(...) but we no longer need the awkward shared.Currency and instead can use nicer sumup.Currency which avoids import collisions for users of this SDK.

Package names such as `shared` are non-idiomatic for Go and there's
no way for us to move them under the root `sumup` package without
running into circular dependency issues. Refactor the SDK to have a
flat structure with clients defined in the root `sumup` package.
This makes it easier to ensure we don't have duplicate definitions
of schemas where one will do. The method calls are still nice with
e.g. `client.Checkouts.Create(...)` but we no longer need the awkward
`shared.Currency` and instead can use nicer `sumup.Currency` which
avoids import collisions for users of this SDK.
@matoous matoous force-pushed the md/flat-structure branch 2 times, most recently from 8c42856 to 5a75c15 Compare January 27, 2026 12:17
@matoous matoous merged commit a6d1b68 into main Jan 29, 2026
14 checks passed
@matoous matoous deleted the md/flat-structure branch January 29, 2026 16:49
@sumup-bot sumup-bot bot mentioned this pull request Jan 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants