Skip to main content

Async library for accessing Swagger-enabled APIs

Project description

https://img.shields.io/travis/sjaensch/aiobravado.svg https://img.shields.io/coveralls/sjaensch/aiobravado.svg 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for aiobravado, version 0.9.3
Filename, size File type Python version Upload date Hashes
Filename, size aiobravado-0.9.3-py3-none-any.whl (18.4 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size aiobravado-0.9.3.tar.gz (14.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page