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 bravad. Requires Python 3.5+. Spins up a separate thread to handle network requests.

  • 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.

Source Distribution

aiobravado-0.9.0.tar.gz (16.1 kB view hashes)

Uploaded Source

Built Distribution

aiobravado-0.9.0-py3-none-any.whl (19.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page