Skip to content
Bravado is a python client library for Swagger 2.0 services
Python Makefile
Branch: master
Clone or download

Latest commit

Latest commit 2fc3d7f May 26, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bravado Release version 10.6.2 May 26, 2020
docs Fix accidental requests parameter renaming, documentation Mar 30, 2020
test-data Convert http method to str while constructing the request Jun 9, 2017
tests Revert "Merge pull request #456 from terencehonles/update-unmarshall_… May 26, 2020
.appveyor.yml Add support to run tests on Windows May 7, 2019
.coveragerc get the exception out of pytest.raises instead Mar 24, 2020
.gitignore Add PEP 561 typing support Jan 2, 2019
.pre-commit-config.yaml Run pre-commit autoupdate to properly update and pin revisions Nov 4, 2019
.readthedocs.yml Fix path to sphinx config in .readthedocs.yaml Jan 27, 2020
.secrets.baseline Run pre-commit autoupdate to properly update and pin revisions Nov 4, 2019
.travis.yml Run tests on Python 3.7 as well Feb 21, 2020
CHANGELOG.rst Release version 10.6.2 May 26, 2020
LICENSE.txt PyPI happiness Aug 20, 2013
MANIFEST.in Release 0.2.0 Oct 28, 2013
Makefile Add `make docs` Oct 12, 2015
README.rst Update Contribution guide (no need to have CHANGELOG-MASTER changes) Feb 24, 2020
mypy.ini Fix is_fallback_result, enable type checking for all code, even non-a… Feb 22, 2019
requirements-dev.txt Drop support for Python 3.5.0 and previous Python 3 versions Feb 20, 2020
requirements-docs.txt Use .readthedocs.yml to configure docs build Nov 15, 2019
setup.cfg bravado is a pure-python package May 2, 2016
setup.py Run tests on Python 3.7 as well Feb 21, 2020
tox.ini Run tests on Python 3.7 as well Feb 21, 2020

README.rst

PyPi version Supported Python versions

Bravado

About

Bravado is a Yelp maintained fork of digium/swagger-py for use with OpenAPI Specification version 2.0 (previously known as Swagger).

From the OpenAPI Specification project:

The goal of The OpenAPI Specification is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection.

Client libraries can automatically be generated from the OpenAPI specification, however Bravado aims to be a complete replacement for code generation (swagger-codegen).

Example Usage

from bravado.client import SwaggerClient
client = SwaggerClient.from_url('http://petstore.swagger.io/v2/swagger.json')
pet = client.pet.getPetById(petId=1).response().result

Example with Basic Authentication

from bravado.requests_client import RequestsClient
from bravado.client import SwaggerClient

http_client = RequestsClient()
http_client.set_basic_auth(
    'api.yourhost.com',
    'username', 'password'
)
client = SwaggerClient.from_url(
    'http://petstore.swagger.io/v2/swagger.json',
    http_client=http_client,
)
pet = client.pet.getPetById(petId=1).response().result

Example with Header Authentication

from bravado.requests_client import RequestsClient
from bravado.client import SwaggerClient

http_client = RequestsClient()
http_client.set_api_key(
    'api.yourhost.com', 'token',
    param_name='api_key', param_in='header'
)
client = SwaggerClient.from_url(
    'http://petstore.swagger.io/v2/swagger.json',
    http_client=http_client,
)
pet = client.pet.getPetById(petId=1).response().result

Example with Fido Client (Async Http Client)

# Install bravado with fido extra (``pip install bravado[fido]``)
from bravado.fido_client import FidoClient
from bravado.client import SwaggerClient

http_client = FidoClient()
client = SwaggerClient.from_url(
    'http://petstore.swagger.io/v2/swagger.json',
    http_client=http_client,
)
pet = client.pet.getPetById(petId=1).response().result

Documentation

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

Installation

# To install bravado with Synchronous Http Client only.
$ pip install bravado

# To install bravado with Synchronous and Asynchronous Http Client (RequestsClient and FidoClient).
$ pip install bravado[fido]

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/Yelp/bravado/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Add your modifications
  4. Commit your changes (git commit -m "Add some feature")
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request

License

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

Bravado is licensed with a BSD 3-Clause License.

You can’t perform that action at this time.