botbuilder-python icon indicating copy to clipboard operation
botbuilder-python copied to clipboard

Update the dependency azure-cosmos > 3.2.

Open lostpassword opened this issue 8 months ago • 5 comments

Use this query to search for the most popular feature requests.

Is your feature request related to a problem? Please describe. We need azure-cosmos 3.2.0 to install Bot Builder, and we need azure-cosmos of the latest version to be able to use Azure Cosmos without two million of bugs, e.g. this thing which was fixed years back: https://stackoverflow.com/questions/67809142/azure-sdk-for-python-cosmosdb-attribute-error

Describe the solution you'd like Update the usage of azure-cosmos to the recent version, e.g. 4.5.1. Ideally - make sure somehow that MS ecosystem is moving forward in a unified and coordinated way (although we the Universe is likely to die way before it happens)

Describe alternatives you've considered Digging through the two-year-back questions and solutions, trying to adapt modern Cosmos DB code samples to 3.2.0, cursing the MS behaving like a bunch of undergraduate coders doing a pet project. None of the above seems to help so far.

Additional context N/A

lostpassword avatar Nov 30 '23 11:11 lostpassword

We can most likely address this next release. Keep in mind, for over the last year the Python SDK had been in sustained engineering and slated to be deprecated 11/30/2023. That's today actually. This was recently reversed though. With that said, unless a bug or security alert is reported against this codebase, we don't have an aggressive dependency update stance.

tracyboehrer avatar Nov 30 '23 19:11 tracyboehrer

Oh, I never knew the library was about to be decommissioned! I'm sorry for the harsh comment. Thank you Tracy for your quick reply, and for the clarification.

I totally agree that aggressive fight with old dependencies is very unrational. What triggered me in this case is that this is a MS library depending on a MS library. Moreover, Azure Cosmos seems to be the technology quite favored and promoted by Microsoft - but I cannot use it in an easy what with Microsoft Teams bot, which I would expect.

In any case, the explanation that the library was about to die is completely solid. Thanks again for letting me know.

lostpassword avatar Dec 01 '23 06:12 lostpassword

The bigger rub is the CosmosDbStorage class. In the other repos (Dotnet and JS), we marked it as deprecated, and eventually deleted it since it was an issue with the newer CosmosDB package. But we never marked it as deprecated in Python and would be problematic for folks if we were to delete it without warning. The recommended CosmosDbPartitionedStorage class doesn't appear to be a problem though. It's mostly just a slightly different API.

tracyboehrer avatar Dec 04 '23 16:12 tracyboehrer

I'll look into it, thank you for the advice!

lostpassword avatar Dec 04 '23 16:12 lostpassword

@lostpassword Just wanted to let you know we haven't forgotten about this. Don't really have a solution for the CosmosDBStorage class. We try very hard to follow semver rules and not include breaking changes in a non-major release. But we might have to make an exception here and drop that older class. CosmosDBPartitionaStorage is coded (but not merged), so that isn't and issue.

tracyboehrer avatar Dec 12 '23 22:12 tracyboehrer