starlette: Remove maximum version constraint#3456
Conversation
… unit tests. Fixed some warnings in unit tests.
|
@aabmass could you review as well and are you able to upgrade the requirements? I'm not comfortable enough to update the lockfiles. |
…trap/test-requirements. Use setUp/tearDown iso decorator on test class
|
We should test the min version. |
Hi @Kludex thanks for joining, Do you mean something else than this test: |
|
@Kludex those oldest tests were indeed failing. I've increased the minimal version to 0.37.2. This one is a year old and didn't cause any problems with me. Is this acceptable? Older versions were causing this issue for me Kludex/starlette#2770 |
This reverts commit 08df2be.
|
PR is ready to be reviewed again @emdneto, if anything needs a change, feel free to put me to work again ;) |
That maybe be fixed by using an older httpx in the requirements. |
Conditional dependencies are not supported in |
Signed-off-by: emdneto <[email protected]>
…-contrib into issue/3317
Signed-off-by: emdneto <[email protected]>
Signed-off-by: emdneto <[email protected]>
Signed-off-by: emdneto <[email protected]>
Signed-off-by: emdneto <[email protected]>
Co-authored-by: Riccardo Magliocchetti <[email protected]>
|
I know this is not the right place, so please don't ask me to create an issue... But can't we somehow modify the starlette instrumentation to work with FastAPI and just have one instead of 2? It's a subclass anyway, and it seems it covers the same points. Happy to talk or hack this at PyCon IT (cc @xrmx) |
Sure, we can discuss it at PyCon IT. |
…58b0 (#524) This PR updates the upstream OpenTelemetry Python dependency to its September 2025 release; Upgrading from version 1.33.1/0.54b1 to 1.37.0/0.58b0. It also resolves several conflicts between the following OTel PRs and existing ADOT patches: starlette: Remove maximum version constraint open-telemetry/opentelemetry-python-contrib#3456 Make a BatchProcessor class which both BatchSpanRecordProcessor and BatchLogRecordProcessor can use open-telemetry/opentelemetry-python#4562 Make exporter timeout encompass retries/backoffs, add jitter to backoffs, cleanup code a bit open-telemetry/opentelemetry-python#4564 Update BatchSpanProcessor to use new BatchProcessor class open-telemetry/opentelemetry-python#4580 Fix issue where deadlock can occur over logging._lock open-telemetry/opentelemetry-python#4636 Tests Performed tox -e lint tox -e spellcheck tox -e 3.9-test-aws-opentelemetry-distro tox -e 3.10-test-aws-opentelemetry-distro tox -e 3.11-test-aws-opentelemetry-distro tox -e 3.12-test-aws-opentelemetry-distro tox -e 3.13-test-aws-opentelemetry-distro Smoke/contract tests: ./gradlew appsignals-tests:contract-tests:contractTests By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Automated update of OpenTelemetry dependencies. **Build Status:** ❌ [failure](https://github.com/aws-observability/aws-otel-python-instrumentation/actions/runs/21465140126) **Updated versions:** - [OpenTelemetry Python](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.39.1): 1.39.1 - [OpenTelemetry Contrib](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.60b1): 0.60b1 - [opentelemetry-sdk-extension-aws](https://pypi.org/project/opentelemetry-sdk-extension-aws/2.1.0/): 2.1.0 - [opentelemetry-propagator-aws-xray](https://pypi.org/project/opentelemetry-propagator-aws-xray/1.0.2/): 1.0.2 **Upstream releases with breaking changes:** Note: the mechanism to detect upstream breaking changes is not perfect. Be sure to check all new releases and understand if any additional changes need to be addressed. **opentelemetry-python:** - [Version 1.35.0/0.56b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.35.0) **opentelemetry-python-contrib:** - [Version 1.34.0/0.55b0](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.55b0) *Description of changes:* - Un-reverts changes done in this PR: #531 - Removed patches for Bedrock following the changes applied in these PRs: open-telemetry/opentelemetry-python-contrib#3544, open-telemetry/opentelemetry-python-contrib#3548, open-telemetry/opentelemetry-python-contrib#3875, open-telemetry/opentelemetry-python-contrib#3990 - Removes patches for Secrets Manager, SNS, and Step Functions following the changes applied in these PRs: open-telemetry/opentelemetry-python-contrib#3734, open-telemetry/opentelemetry-python-contrib#3737, open-telemetry/opentelemetry-python-contrib#3765, - Removes patches for Starlette following the changes applied in this PR: open-telemetry/opentelemetry-python-contrib#3456 - Changes imports and implementation of `OTLPAwsLogExporter`, `AwsCloudWatchOtlpBatchLogRecordProcessor`, and `CompactConsoleLogExporter` following these PRs: open-telemetry/opentelemetry-python#4580, open-telemetry/opentelemetry-python#4535, open-telemetry/opentelemetry-python#4562, open-telemetry/opentelemetry-python#4647, open-telemetry/opentelemetry-python#4676 - Removes a few AWS semantic conventions from `_aws_attribute_keys ` and replaces them with equivalent ones from upstream following the changes in this PR: open-telemetry/opentelemetry-python#4791 - Fix Lambda instrumentation test to set `AWS_LAMBDA_FUNCTION_NAME` env var following changes in: open-telemetry/opentelemetry-python-contrib#3183 - Adds a few more contract tests to verify upstream's botocore instrumentation library By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice. --------- Co-authored-by: github-actions <[email protected]> Co-authored-by: Thomas Pierce <[email protected]> Co-authored-by: Steve Liu <[email protected]>
* ISSUE-3317: Remove maximum version constraint on starlette, by fixing unit tests. Fixed some warnings in unit tests. * Updae changelog * Implement code review remarks: update starlette dependencies in bootstrap/test-requirements. Use setUp/tearDown iso decorator on test class * Increase minimal version of starlette to 0.37.2 to have functional 'oldest' tests. * add uv.lock * Revert "add uv.lock" This reverts commit 08df2be. * Prevent massive changes of uv.lock due to newer uv which adds upload-time keyword * Update test-requirements.in file of starlette instrumentation * fixes Signed-off-by: emdneto <[email protected]> * fix tests Signed-off-by: emdneto <[email protected]> * increase delta Signed-off-by: emdneto <[email protected]> * using same delta as fastapi Signed-off-by: emdneto <[email protected]> * commit uv.lock back Signed-off-by: emdneto <[email protected]> * Update CHANGELOG.md Co-authored-by: Riccardo Magliocchetti <[email protected]> * Update CHANGELOG.md --------- Signed-off-by: emdneto <[email protected]> Co-authored-by: emdneto <[email protected]> Co-authored-by: Riccardo Magliocchetti <[email protected]>
Description
Remove maximum version constraint on starlette, by fixing unit tests. Fixed some warnings in unit tests.
Problem was that the environment was patched only during the
setUpexecution, and not during the tests themselves. By putting the patch decorator on the class itself, the environment variables are patched during the test class, as is done in another place in the same file.This PR also includes some small changes to reduce the amount of warnings encountered in the unit tests.
routeandroute_websocketdecoratorsStarletteInstrumentor._uninstrumentcan clear all instrumented apps, use adiscardi.s.o.removein the deletor of_InstrumentedStarletteto prevent aKeyErrorbeing raisedFixes #3317
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
All existing unit tests pass with the newest version of starlette (0.46.2)
Does This PR Require a Core Repo Change?
Checklist:
See contributing.md for styleguide, changelog guidelines, and more.