braintree / braintree_python

Braintree Python library
https://developer.paypal.com/braintree/docs/start/overview
MIT License
241 stars 155 forks source link

Remove deprecation warnings when importing module #149

Closed pehala closed 1 year ago

pehala commented 1 year ago

Summary

Hide deprecation warnings behind getattr and getattribute. Not the ideal solution but fixes the problem. I am open to better solutions. Fixes #148

Checklist

hollabaq86 commented 1 year ago

👋 @pehala thanks for the PR! We'll take a look and provide feedback.

For internal tracking, issue 7868

saralvasquez commented 1 year ago

👋 Hi @pehala, again, thanks for the PR! It does indeed prevent the errors described in issue 148. Unfortunately, throwing new AttributeError is considered a breaking change requiring a major version bump. Which would normally be fine. However everything relating to chargeback_protection_level is slated to be removed for the next major version anyway, include these changes you made, so it's a bit of a catch 22. I did try to poke around and find a way to keep the deprecation warnings without causing errors or breaking changes and came up dry so I'm not sure this is the right path forward. I'm going to close this PR and hopefully we can discuss more in that open issue to find a solution that doesn't require breaking changes and still resolves everything.