Skip to content
/ bravado Public
forked from Yelp/bravado

Bravado is a python client library for Swagger 2.0 services

License

Notifications You must be signed in to change notification settings

mdeeg/bravado

This branch is 336 commits behind Yelp/bravado:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cbd756e · Aug 2, 2017
Aug 2, 2017
Feb 21, 2017
Jun 9, 2017
Jul 26, 2017
Oct 24, 2013
Apr 5, 2016
Feb 21, 2017
Jun 9, 2017
Aug 2, 2017
Aug 2, 2017
Aug 20, 2013
Oct 28, 2013
Oct 12, 2015
Feb 21, 2017
Mar 9, 2017
May 2, 2016
Jul 5, 2017
Jun 9, 2017

Repository files navigation

PyPi version Supported Python versions

Bravado

About

Bravado is a Yelp maintained fork of digium/swagger-py for use with OpenAPI Specification (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=42).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=42).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=42).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=42).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. Add short summary of your modifications on CHANGELOG-MASTER.rst
  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.

Bravado is licensed with a BSD 3-Clause License.

About

Bravado is a python client library for Swagger 2.0 services

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.8%
  • Makefile 0.2%