-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split up smithy-python #195
Conversation
This refactors smithy-python into two packages: smithy-core and smithy-http, separating concerns to bring things more in line with the split other sdks are moving towards. This allows non-http clients to exclude http features altogether. It also makes awscrt and aiohttp into optional dependencies. Additionally, this attempts to break out async components into their own sections so that it will be more feasible to provide a sync client later on if necessary. Aside from ading in checks for the optional dependencies, the actual logic has not changed, only the locations of bits of code.
5c5ea48
to
8669e6f
Compare
Codecov ReportAttention:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## develop #195 +/- ##
===========================================
- Coverage 94.64% 85.09% -9.56%
===========================================
Files 35 37 +2
Lines 1682 1134 -548
===========================================
- Hits 1592 965 -627
- Misses 90 169 +79
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
12ffb6c
to
551d41c
Compare
This renames the AWS python package to be in line with the new core packages, and updates its dependency to be on the new core package rather than the old one.
This removes the smithy-python package, which has been replaced by smithy-core and smithy-http
551d41c
to
562ca7f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few small comments/questions, but otherwise looks good. Let me know what you think and we can ship it.
aiohttp>=3.8.6,<3.10.0 | ||
awscrt>=0.15,<1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this for pants/testing? Ideally we'd be able to just install .[aiohttp]
or .[awscrt]
during testing to avoid specifying these ranges twice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes this is for pants since we had to stop sourcing deps from pyproject.toml
This refactors smithy-python into two packages: smithy-core and smithy-http, separating concerns to bring things more in line with the split other sdks are moving towards. This allows non-http clients to exclude http features altogether. It also makes awscrt and aiohttp into optional dependencies.
Additionally, this attempts to break out async components into their own sections so that it will be more feasible to provide a sync client later on if necessary.
Another goal of this was to remove the weird
_private
directories we had going on.Aside from adding in checks for the optional dependencies, the actual logic has not changed, only the locations of bits of code.
There is one bit that needs resolving in a follow-up, which is making the default http client configurable.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.