[Storage] Storage data-plane track 1 SDK triggers SyntaxWarning on Python 3.8
jiasli opened this issue · 3 comments
-
Package Name and Package Version:
https://pypi.org/project/azure-storage-blob/2.1.0/ -
Operating System:
All -
Python Version:
3.8
Describe the bug
When the source of Storage data-plane track 1 SDK is compiled for the first time (no __pycache__
folders present), Python 3.8 gives warning:
>>> import azure.storage.blob
d:\cli\env38\lib\site-packages\azure\storage\blob\_upload_chunking.py:403: SyntaxWarning: "is" with a literal. Did you mean "=="?
if n is 0 or self._buffer.closed:
d:\cli\env38\lib\site-packages\azure\storage\blob\baseblobservice.py:1009: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if lease_duration is not -1 and \
d:\cli\env38\lib\site-packages\azure\storage\blob\baseblobservice.py:2660: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if lease_duration is not -1 and \
d:\cli\env38\lib\site-packages\azure\storage\common\_connection.py:82: SyntaxWarning: "is" with a literal. Did you mean "=="?
self.protocol = self.protocol if parsed_url.scheme is '' else parsed_url.scheme
This usage is against the Python 3.8 definition:
https://docs.python.org/3.8/whatsnew/3.8.html#changes-in-python-behavior
The compiler now produces a
SyntaxWarning
when identity checks (is
andis not
) are used with certain types of literals (e.g. strings, numbers). These can often work by accident in CPython, but are not guaranteed by the language spec. The warning advises users to use equality tests (==
and!=
) instead.
To Reproduce
Clear azure\storage\blob\__pycache__
and azure\storage\common\__pycache__
, then run
import azure.storage.blob
Expected behavior
No warning should appear.
Additional context
Internal ticket and screenshots: https://dev.azure.com/azuretracking/Azure%20tracking/_workitems/edit/1271
Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @xgithubtriage.
a note: this is an issue discussed with @jiasli offline, this is a issue for track1. storage will discuss about whether this will be fixed by a release or not
ping @xiafu-msft what do you think the ETA will be for this?