Library for accessing Swagger-enabled API's
Project description
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
- Fork it ( http://github.com/Yelp/bravado/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Add your modifications
- Commit your changes (git commit -m "Add some feature")
- Push to the branch (git push origin my-new-feature)
- 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size bravado-11.0.2-py2.py3-none-any.whl (37.2 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size bravado-11.0.2.tar.gz (37.3 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for bravado-11.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a70a6a06730eea7d10ca5b6b504efa48b5ecc192f0a4b4cdbc5651f4f995df81 |
|
MD5 | 171ab6f609cb37b96ebcf177c16ba7e5 |
|
BLAKE2-256 | 6d3df8772d9295c03e08a9ab4afc1ccd195efe6cb4d1af3135b7f74eb8beb0d6 |