Azure / Azure/azure-sdk-for-python
[Tables] Better support for Entity de/serialization
- Dominant language
- Python
- Stars
- 5.6k
- Forks
- 3.4k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 182
Description
This is an umbrella issue to resolve issues in serialization and deserialization.
We have some customer issues about serialization:
- [ ] https://github.com/Azure/azure-sdk-for-python/issues/26360
- [ ] https://github.com/Azure/azure-sdk-for-python/issues/24499
- [ ] https://github.com/Azure/azure-sdk-for-python/issues/35554
Besides that, we should:
- [ ] https://github.com/Azure/azure-sdk-for-python/issues/23997
- [x] And align serialization sequence difference between sync and async clients in `update_entity` and `upsert_entity`( from comment: https://github.com/Azure/azure-sdk-for-python/pull/31862#discussion_r1347841711)
We also have a customer issue about deserialization:
- [ ] https://github.com/Azure/azure-sdk-for-python/issues/25403
After these sub issues are resolved, we should:
- [ ] Clean up serialize.py and deserialize.py.
Here are some thoughts about current Entity implementations:
- Comparing with other languages, Python doesn't have a concrete definition of Entity. This will cause a potential problem that the same entity can be used in Python but not in other languages. We should make Entity compatible with other languages after.
- The current way that we define `EntityProperty` is not easy to understand. https://github.com/Azure/azure-sdk-for-python/blob/57165b2f9644222f62ef48ef6b49166646a41058/sdk/tables/azure-data-tables/azure/data/tables/_entity.py#L58
For example, there's a customer issue complaining about better support for int64 in serialization layer.
Some resources:
- https://gist.github.com/annatisch/600f9040aee9b0f60c030d1b9e6b73f0
- Probably can get some ideas from `azure-core`
Contributor guide
Assessment
This issue has not been assessed yet.