-
Notifications
You must be signed in to change notification settings - Fork 63
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
Release v0.9.0 #163
Merged
Release v0.9.0 #163
Conversation
This file contains 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
This exposes all auth methods and adds these additional auth classes: - MultiAuth - ApiTokenParam - ApiTokenHeader The purpose of MultiAuth is to allow for multiple auth methods. This may be required when an API user needs to supply intermediate credentials-- as when using ProxyAuth to authenticate with an intermediate proxy-- or when an API requires multiple auth tokens. MultiAuth acts like a list so that users can append, extend or iterate over the contained auth methods. The purpose of the the ApiToken* auth methods is to allow both direct API users and API library authors to easily provide auth tokens in a standardized manner. When directly supplying the auth token, some users may prefer to supply both the parameter/header name and the token at the same time. Thus, we allow such users to directly use the generic ApiToken* auth methods. For API library authors that want to supply the parameter/header name in a reusable way (so users only have to supply the token), they can use properties on an ApiToken* subclass to define the relvant query parameter or header. This also refactors BasicAuth and ProxyAuth as subclasses of ApiTokenHeader to harmonize the implementation details of all the auth methods. Any uplink users that directly accessed the private _auth_str attribute will need to replace that with _header_value.
Add and expose auth types: MultiAuth ApiToken*
Document Auth methods from #137
Stop sharing class decorators across siblings
* Run session request auditors first * Add Context argument annotation * Fix unit test * Fix unit test * Add unit tests for Context annotation * Expose Context as uplink.Context * Complete documentation for context values * Modify documentation for context values
* Allow extending consumer methods * Remove Python 3 function annotations * Document consumer method extension * Fix whitespace issues * Fix broken logic with @returns.*
This should fix GitHub's issue with finding dependents for this project.
Stability of the Python 3.3 builds have declined over the last year as more and more of our testing dependencies (e.g., tox) deprecate or remove support for the version.
Codecov Report
@@ Coverage Diff @@
## stable #163 +/- ##
======================================
Coverage 100% 100%
======================================
Files 41 41
Lines 2053 2170 +117
Branches 163 173 +10
======================================
+ Hits 2053 2170 +117
Continue to review full report at Codecov.
|
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.
Added
definitions. (Support extending a consumer method using the definition of another #151, Extend Consumer Methods to Reduce Boilerplate #159)
Context
argument annotation to pass request-specific information tomiddleware. (Pass context objects to
MethodAnnotation
decorators at runtime #143, AddContext
argument annotation #155)Session.context
property to pass session-specific information tomiddleware. (Pass context objects to
MethodAnnotation
decorators at runtime #143, AddContext
argument annotation #155)and header, Bearer tokens, and multi-auth. (Add and expose auth types: MultiAuth ApiToken* #137)
Fixed
@returns.*
decorators should override theconsumer method's return annotation. (@returns.* decorator doesn't override the return annotation #144, Refactor @returns.* decorator implementations (#144, #145) #154)
@returns.*
decorators should propagate to all consumer method when usedas a class decorator. (Annotating consumer class with @returns.* doesn't propagate to consumer methods #145, Refactor @returns.* decorator implementations (#144, #145) #154)
Consumer
subclass no longer affects other subclasses. (Stop sharing class decorators across siblings #152)Changed
uplink.retry.stop.DISABLE
touplink.retry.stop.NEVER