chore: move this project to V4#179
Merged
Merged
Conversation
lucasmcdonald3
approved these changes
May 11, 2026
There was a problem hiding this comment.
Pull request overview
This PR updates the repo and its cross-language test framework to treat the Python implementation as “V4” (key commitment capable), adds a new FastAPI-based Python V4 test server, and updates integration-test wiring/docs to target that V4 server.
Changes:
- Add
test-server/python-v4-server(FastAPI server + build/run scaffolding) and update test-server docs accordingly. - Update Java integration tests to reference
Python-V4and to scope key-commitment failure tests to Python V4. - Bump the library version to
3.0.0(per PR description’s semantic-release workflow) and update CI caching to point at the new Python V4 server pyproject.
Reviewed changes
Copilot reviewed 7 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test-server/README.md | Updates documented commands to reference Python V4 server (but currently documents non-existent Make targets). |
| test-server/python-v4-server/src/main.py | Adds FastAPI implementation of the Python V4 test server (PUT/GET object + client creation). |
| test-server/python-v4-server/src/init.py | Adds package marker for server source. |
| test-server/python-v4-server/tests/init.py | Adds package marker for server tests. |
| test-server/python-v4-server/README.md | Documents setup and usage for the Python V4 server. |
| test-server/python-v4-server/pyproject.toml | Defines the Python V4 server project metadata/dependencies. |
| test-server/python-v4-server/poetry.lock | Adds a lockfile for the Python V4 server dependencies. |
| test-server/python-v4-server/Makefile | Adds build/start/stop targets for the Python V4 server. |
| test-server/python-v4-server/.gitignore | Ignores venv/build/test artifacts for the Python V4 server. |
| test-server/python-v4-server/.duvet/config.toml | Adds duvet configuration for spec coverage reporting. |
| test-server/python-v4-server/.duvet/.gitignore | Ignores generated duvet reports/inputs. |
| test-server/java-tests/src/it/java/software/amazon/encryption/s3/TestUtils.java | Renames Python target constants to Python-V4 and updates server map/feature sets accordingly. |
| test-server/java-tests/src/it/java/software/amazon/encryption/s3/KeyCommitmentPolicyEncryptFailureTests.java | Switches MethodSource from Python V3 to Python V4. |
| src/s3_encryption/init.py | Updates top-level package docstring to “v4”. |
| pyproject.toml | Bumps package version to 3.0.0. |
| .github/workflows/python-integ.yml | Updates uv cache key hashing to use the Python V4 server pyproject path. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…python into kessplas/four
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
Description of changes: Since this release supports Key Commitment, it should be V4 to be relatively more consistent with other S3EC versions. However, semantic release will want to do a version bump, so we will make it 3.0.0 for now, so it will be 4.0.0 upon release.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.