Skip to content

asyncio-powered python client library for Swagger 2.0 services

License

Notifications You must be signed in to change notification settings

sjaensch/aiobravado

Repository files navigation

PyPi version Supported Python versions

Aiobravado

About

Aiobravado is the asyncio version of the bravado library for use with the OpenAPI Specification (previously known as Swagger).

aiobravado requires Python 3.5+ and allows you to use asynchronous programming when interacting with OpenAPI-enabled services. Here's the breakdown of bravado packages and their use case:

  • bravado - Library to dynamically interact with OpenAPI/Swagger-enabled services. Supports Python 2.7+.
  • fido - HTTP client to enable asynchronous network requests for bravado. Supports Python 2.7+. Depends on twisted. Spins up a separate thread to handle network requests.
  • bravado-asyncio - asyncio-powered asynchronous HTTP client for bravado. Requires Python 3.5+. It is the default HTTP client for aiobravado, but can be used with bravado as well.
  • aiobravado - asyncio-enabled library to dynamically interact with OpenAPI/Swagger-enabled services. Supports basically all of the features of bravado. Requires Python 3.5+. No additional threads are created.

Example Usage

from aiobravado.client import SwaggerClient
client = await SwaggerClient.from_url('http://petstore.swagger.io/v2/swagger.json')
pet = await client.pet.getPetById(petId=42).result(timeout=5)

Documentation

More documentation is available at http://aiobravado.readthedocs.org

Installation

# To install aiobravado
$ pip install aiobravado

# To install aiobravado with optional packages recommended by aiohttp
$ pip install aiobravado[aiohttp_extras]

Development

Code is documented using Sphinx.

virtualenv is recommended to keep dependencies and libraries isolated.

Setup

# Run tests
tox

# Install git pre-commit hooks
tox -e pre-commit install

Contributing

  1. Fork it ( http://github.com/sjaensch/aiobravado/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Add your modifications
  4. Add short summary of your modifications on changelog.rst under Upcoming release. Add that entry at the top of the file if it's not there yet.
  5. Commit your changes (git commit -m "Add some feature")
  6. Push to the branch (git push origin my-new-feature)
  7. Create new Pull Request

License

Copyright (c) 2013, Digium, Inc. All rights reserved. Copyright (c) 2014-2015, Yelp, Inc. All rights reserved.

Aiobravado is licensed with a BSD 3-Clause License.

About

asyncio-powered python client library for Swagger 2.0 services

Resources

License

Stars

Watchers

Forks

Packages

No packages published