Skip to content

Conversation

@jonathan343
Copy link
Contributor

Summary

This PR updates the test dependencies used in the smithy-python repo itself AND in the code generated AWS SDK clients (e.g, aws-sdk-bedrock-runtime). This change gets us on the latest versions of these dependencies and removes noisy warnings on newer python versions.

Testing

Smithy Python

Ran tests for all smithy packages under the packages directory using the commands below:

  • uv venv
  • . .venv/bin/activate
  • make install
  • make test-py
    Output:
(smithy-python) $ make test-py
uv run pytest packages

...

TOTAL                                                                                    10811   1132    90%
=============================== 1367 passed, 3 skipped in 20.72s ===============================

AWS SDKs

Generated a new aws-sdk-bedrock-runtime client with an update pyproject.toml and ran integration tests.

For each test I ran:

  • uv venv
  • . .venv/bin/activate
  • uv pip install . --group test
  • python -m pytest tests/

Update test dependencies in pyproject.toml

[dependency-groups]
test = [
    "pytest>=9.0.1,<10.0.0",
    "pytest-asyncio>=1.3.0,<1.4.0"
]

Before Change:

=============================== 3 passed, 81 warnings in 15.15s ================================

After Change:

================================ 3 passed, 2 warnings in 13.73s ================================

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@jonathan343 jonathan343 requested a review from a team as a code owner November 27, 2025 00:12
Copy link
Contributor

@nateprewitt nateprewitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good assuming tests pass.

@nateprewitt
Copy link
Contributor

A couple quick thoughts we should talk about:

  1. How do we automate this? Can we keep these up to date without needing to remember? Dependabot probably won't work, but we may have some other mechanism we can use. Maybe using a dependabot compatible file to inform the codegen.
  2. Can we streamline the changelog for these kinds of updates in the generated packages?

@jonathan343
Copy link
Contributor Author

A couple quick thoughts we should talk about:

  1. How do we automate this? Can we keep these up to date without needing to remember? Dependabot probably won't work, but we may have some other mechanism we can use. Maybe using a dependabot compatible file to inform the codegen.
  2. Can we streamline the changelog for these kinds of updates in the generated packages?
  1. Yea, we definitely should look into automating it. The versions of pytest and pytest-asyncio used by codegen are 2 years old. What you're suggesting should definitely work. Like we can create some requirements.txt file which dependebot knows how to update and instead of hardcoding the version in the Java file, we can read its version from the requirements file.
  2. Are you talking about putting entries for test dependency updates in the client specific packages? I feel like that might be noisy and not super relevant for most users of the SDKs.

@jonathan343 jonathan343 merged commit 2fe8d3c into develop Dec 1, 2025
6 checks passed
@jonathan343 jonathan343 deleted the upgrade-test-dependencies branch December 1, 2025 06:08
@nateprewitt
Copy link
Contributor

Are you talking about putting entries for test dependency updates in the client specific packages? I feel like that might be noisy and not super relevant for most users of the SDKs.

There are a bunch of dependencies in that file, both testing and not. We should think through how we want to automate those updates, and then make sure we're publishing relevant information on the updates. If we don't think the testing ones are relevant, that's fine, but we should make sure the non-testing ones have some form of notification. Ideally not from manual updates after the fact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants