Azure / Azure/azure-sdk-for-python

Better int64 support

Open
#24,499 6 comments 0 reactions 1 assignee Assigned to @annatisch View on GitHub
Client customer-reported feature-request needs-team-attention Tables
Dominant language
Python
Stars
5.6k
Forks
3.4k
Avg merge
1d 21h
Merged PRs (30d)
193

Description

**Is your feature request related to a problem? Please describe.**

Python integers are variable sized, for example:

```
>>> import sys
>>> sys.getsizeof(int(19283612873512536))
32
>>> sys.getsizeof(int(192836128735125361239862))
36
>>> sys.getsizeof(int(1928361287351253612398621293876))
40
```

but the current azure.data.tables entity serialization maps all python integers to int32 on Azure, which is not very friendly because you are bound to hit a nasty error at runtime when your python integer overflows int32. Then you have to monkey around the documentation and if you are lucky you discover `EntityProperty(memory, EdmType.INT64)` and change all your code to handle that properly and unwrap it on deserialization, etc. which is a big mess.

**Describe the solution you'd like**
It would be cool if this auto-conversion to int64 (or even bigger) and back to python int was completely transparent and handled in the serialization layer.

**Describe alternatives you've considered**
I am now using `EntityProperty(memory, EdmType.INT64)` but I'm not happy with it. This topic should be dealt with on page 1 of the python SDK, pointing out "int" in python is special. I don't know if you do this already, but you could also add special handling for numpy int64 datatype.

**Additional context**
N/A

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.