Breaking changes due to param ordering
Opened this issue · 3 comments
jarekwg commented
Changing ordering of signature params like this is a surefire recipe for disaster:
https://github.com/XeroAPI/xero-python/blame/master/xero_python/accounting/models/contacts.py#L36
Introduced in 25a6d3e:
Where Contacts([Contact(...)])
would before create a Contacts
instance with a single Contact
, it now assigns that list to pagination
...
That's a breaking change that's hard for consumers to track.
Recommendation: disallow positional params, require kwargs only:
def __init__(self, pagination=None, contacts=None):
->
def __init__(self, *, pagination=None, contacts=None):
github-actions commented
PETOSS-496
github-actions commented
Thanks for raising an issue, a ticket has been created to track your request
j-osephlong commented
This happened to me, took a while to figure it out.