Skip to content

refactor(rest): extract SigV4 signing into catalog/rest/sigv4.py#3446

Open
adamdavis99 wants to merge 1 commit into
apache:mainfrom
adamdavis99:refactor-sigv4-module
Open

refactor(rest): extract SigV4 signing into catalog/rest/sigv4.py#3446
adamdavis99 wants to merge 1 commit into
apache:mainfrom
adamdavis99:refactor-sigv4-module

Conversation

@adamdavis99
Copy link
Copy Markdown

Closes #3410

Rationale for this change

Extracts SigV4Adapter and related signing constants out of the nested closure inside RestCatalog._init_sigv4 into a dedicated module pyiceberg/catalog/rest/sigv4.py. Separating concerns makes the signing logic easier to evolve, test, and extend independently of the catalog (e.g., retry config improvements tracked in #3008).

Are these changes tested?

Yes. The existing 9 sigv4 tests in tests/catalog/test_rest.py cover sigv4.py at 100%. No new tests were added as this is a behavior-preserving refactor.

Are there any user-facing changes?

SigV4Adapter is now a module-level class and explicitly re-exported from pyiceberg.catalog.rest. All existing imports continue to work unchanged. The previously private RestCatalog._init_sigv4 method has been removed (it was not part of the public API).

@adamdavis99 adamdavis99 force-pushed the refactor-sigv4-module branch from 962ca91 to ec9bb30 Compare May 31, 2026 00:41
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.

refactor sigv4 out of rest catalog

1 participant