Skip to content
  • v0.9.0
  • ff72f3f
  • Compare
    Choose a tag to compare
    Search for a tag
  • v0.9.0
  • ff72f3f
  • Compare
    Choose a tag to compare
    Search for a tag

@prkumar prkumar released this Jun 6, 2019

Added

  • Create consumer method templates to reduce boilerplate in request
    definitions. (#151, #159)
  • Context argument annotation to pass request-specific information to
    middleware. (#143, #155)
  • Session.context property to pass session-specific information to
    middleware. (#143, #155)
  • Built-in authentication support for API tokens in the querystring
    and header, Bearer tokens, and multi-auth. (#137)

Fixed

  • Schema defined using @returns.* decorators should override the
    consumer method's return annotation. (#144, #154)
  • @returns.* decorators should propagate to all consumer method when used
    as a class decorator. (#145, #154)
  • Decorating a Consumer subclass no longer affects other subclasses. (#152)

Changed

  • Renamed uplink.retry.stop.DISABLE to uplink.retry.stop.NEVER
Assets 2
  • v0.8.0
  • ac0f1b2
  • Compare
    Choose a tag to compare
    Search for a tag
  • v0.8.0
  • ac0f1b2
  • Compare
    Choose a tag to compare
    Search for a tag

@prkumar prkumar released this Mar 13, 2019 · 41 commits to stable since this release

Added

  • A retry decorator to enable reattempts of failed requests. (#132)
  • A ratelimit decorator to constrain consumers to making some maximum number
    of calls within a given time period. (#132)
  • Timeout argument annotation to be able to pass the timeout as a consumer
    method argument or to inject it as a transaction hook using a Consumer
    instance's _inject method. (#133 by @daa)

Changed

  • Consumer subclasses now inherit class decorators from their
    Consumer parents, so those decorators are also applied to the subclasses'
    methods that are decorated with @get, @post, @patch, etc.
    (#138 by @daa)

Fixed

  • Memory leaks in RequestsClient and AiohttpClient caused by
    use of atexit.register, which was holding references to session objects
    and preventing the garbage collector from freeing memory reserved for those
    objects. (#134 by @SakornW)
Assets 2
  • v0.7.0
  • adabcbf
  • Compare
    Choose a tag to compare
    Search for a tag
  • v0.7.0
  • adabcbf
  • Compare
    Choose a tag to compare
    Search for a tag

@prkumar prkumar released this Dec 7, 2018 · 164 commits to stable since this release

Added

  • Consumer.exceptions property for handling common client exceptions in a client-agnostic way. (#117)
  • Optional argument requires_consumer for response_handler and error_handler; when set to True, the registered callback should accept a reference to a Consumer instance as its leading argument. (#118)

Changed

  • For a Query-annotated argument, a None value indicates that the query parameter should be excluded from the request. Previous behavior was to encode the parameter as ...?name=None. To retain this behavior, specify the new encode_none parameter (i.e., Query(..., encode_none="None")). (#126 by @nphilipp)

Fixed

  • Support for changes to Schema().load and Schema().dump in marshmallow v3. (#109)
Assets 2

@prkumar prkumar released this Sep 15, 2018 · 245 commits to stable since this release

Changed

  • When the type parameter of a function argument annotation, such as
    Query or Body, is omitted, the type of the annotated argument's
    value is no longer used to determine how to convert the value before it's
    passed to the backing client; the argument's value is converted only when
    its type is explicitly set. (#108)
Assets 2

@prkumar prkumar released this Sep 11, 2018 · 252 commits to stable since this release

Added

  • The session property to the Consumer base class, exposing the
    consumer instance's configuration and allowing for the persistence of
    certain properties across requests sent from that instance. (#95)
  • The params decorator, which when applied to a method of a Consumer
    subclass, can add static query parameters to each API call. (#94)
  • The converters.Factory base class for defining integrations with
    other serialization formats and libraries.
  • The uplink.install decorator for registering extensions, such as a
    custom converters.Factory implementation, to be applied broadly.

Fixed

  • Issue with detecting typing.List and typing.Dict for converting
    collections on Python 3.7. (#105)
  • RuntimeWarning that "ClientSession.close was never awaited" when
    using aiohttp >= 3.0. (#100) (by @gkze)

Changed

  • When using the marshmallow integration, Uplink no longer suppresses
    Schema validation errors on deserialization; users can now handle these
    exceptions directly. (#105)
Assets 2
  • v0.5.5
  • 1cc7d4a
  • Compare
    Choose a tag to compare
    Search for a tag
  • v0.5.5
  • 1cc7d4a
  • Compare
    Choose a tag to compare
    Search for a tag

@prkumar prkumar released this Aug 1, 2018 · 408 commits to stable since this release

Fixed

  • Issue with sending JSON list Body using @json annotation. (#103)
Assets 2
  • v0.5.4
  • a9a8ae5
  • Compare
    Choose a tag to compare
    Search for a tag
  • v0.5.4
  • a9a8ae5
  • Compare
    Choose a tag to compare
    Search for a tag

@prkumar prkumar released this Jun 26, 2018 · 412 commits to stable since this release

Fixed

  • When using uplink.AiohttpClient with aiohttp>=3.0, the underlying
    aiohttp.ClientSession would remain open on program exit. #100
Assets 2
  • v0.5.3
  • 3a36427
  • Compare
    Choose a tag to compare
    Search for a tag
  • v0.5.3
  • 3a36427
  • Compare
    Choose a tag to compare
    Search for a tag

@prkumar prkumar released this May 31, 2018 · 417 commits to stable since this release

Fixed

  • Issue where adding two or more response handlers (i.e., functions decorated
    with uplink.response_handler) to a method caused a TypeError.
Assets 2
  • v0.5.2
  • f11b341
  • Compare
    Choose a tag to compare
    Search for a tag
  • v0.5.2
  • f11b341
  • Compare
    Choose a tag to compare
    Search for a tag

@prkumar prkumar released this May 30, 2018 · 423 commits to stable since this release

Fixed

  • Applying returns.json decorator without arguments should produce JSON
    responses when the decorated method is lacking a return value annotation.
Assets 2
  • v0.5.1
  • ad6670d
  • Compare
    Choose a tag to compare
    Search for a tag
  • v0.5.1
  • ad6670d
  • Compare
    Choose a tag to compare
    Search for a tag

@prkumar prkumar released this Apr 10, 2018 · 431 commits to stable since this release

Added

  • Decorator uplink.returns.model for specifying custom return type without
    indicating a specific data deserialization format.

Fixed

  • Have uplink.Body decorator accept any type, not just mappings.
  • Reintroduce the uplink.returns decorator.
Assets 2
You can’t perform that action at this time.