aws / aws-xray-sdk-python

AWS X-Ray SDK for the Python programming language
Apache License 2.0
329 stars 143 forks source link

Import error: cannot import name _SessionSignalEvents from flask_sqlalchemy #359

Open UniqueElphie opened 2 years ago

UniqueElphie commented 2 years ago

I came across the import error at this line: https://github.com/aws/aws-xray-sdk-python/blob/master/aws_xray_sdk/ext/flask_sqlalchemy/query.py#L4

Package: flask-sqlalchemy, 3.0.0 aws-xray-sdk-python, 2.10.0

It works fine when I downgrade flask-sqlalchemy to version 2.5.1

srprash commented 2 years ago

hi @UniqueElphie The flask-sqlalchemy 3.0 was released with breaking changes

The _SessionSignalEvents class have been removed in the new major version

srprash commented 2 years ago

This means that for now, the X-Ray SDK is only compatible with the Flask-SQLAlchemy version <= 2.5.1

s-t-e-v-e-n-k commented 1 year ago

To my mind, this does look easier with the new version of Flask-SQLAlchemy: https://flask-sqlalchemy.palletsprojects.com/en/3.0.x/track-modifications/

Is there a timeline for adding support for the new version?

willarmiros commented 1 year ago

Hi @s-t-e-v-e-n-k,

We cannot share this timeline with customers, but it is on our backlog. Meanwhile, OpenTelemetry Python supports all versions of Flask and you can find docs for getting started w/ OTel & X-Ray here: https://aws-otel.github.io/docs/getting-started/python-sdk

matejkloska commented 1 year ago

please, any update?

trend-peggy-shen commented 11 months ago

Hello,

I would like to inquire about the possibility of resolving an issue in the near future, as we need to upgrade Flask to version 3 or higher. Due to the dependency issues with Flask v2.x.x, the Werkzeug package is required to be below version 3. However, recent scans have identified security issues in versions of Werkzeug below 3, and our team needs to upgrade it. Therefore, I am inquiring about the likelihood of aws-xray-sdk supporting Flask_SQLAlchemy 3.x.x or higher versions.

Thank you for your assistance.