Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yelp/bravado
Bravado is a python client library for Swagger 2.0 services
https://github.com/yelp/bravado
openapi python
Last synced: 7 days ago
JSON representation
Bravado is a python client library for Swagger 2.0 services
- Host: GitHub
- URL: https://github.com/yelp/bravado
- Owner: Yelp
- License: other
- Created: 2014-05-30T01:03:02.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-03-24T10:03:56.000Z (over 1 year ago)
- Last Synced: 2024-05-15T09:54:02.054Z (6 months ago)
- Topics: openapi, python
- Language: Python
- Homepage:
- Size: 1.75 MB
- Stars: 600
- Watchers: 26
- Forks: 116
- Open Issues: 81
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
.. image:: https://github.com/Yelp/bravado/workflows/build/badge.svg?branch=master
:target: https://github.com/Yelp/bravado/actions?query=workflow%3Abuild.. image:: https://img.shields.io/coveralls/Yelp/bravado.svg
:target: https://coveralls.io/r/Yelp/bravado.. image:: https://img.shields.io/pypi/v/bravado.svg
:target: https://pypi.python.org/pypi/bravado/
:alt: PyPi version.. image:: https://img.shields.io/pypi/pyversions/bravado.svg
:target: https://pypi.python.org/pypi/bravado/
:alt: Supported Python versionsBravado
==========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
-------------.. code-block:: Python
from bravado.client import SwaggerClient
client = SwaggerClient.from_url('http://petstore.swagger.io/v2/swagger.json')
pet = client.pet.getPetById(petId=1).response().resultExample with Basic Authentication
---------------------------------.. code-block:: python
from bravado.requests_client import RequestsClient
from bravado.client import SwaggerClienthttp_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().resultExample with Header Authentication
----------------------------------.. code-block:: python
from bravado.requests_client import RequestsClient
from bravado.client import SwaggerClienthttp_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().resultExample with Fido Client (Async Http Client)
--------------------------------------------.. code-block:: python
# Install bravado with fido extra (``pip install bravado[fido]``)
from bravado.fido_client import FidoClient
from bravado.client import SwaggerClienthttp_client = FidoClient()
client = SwaggerClient.from_url(
'http://petstore.swagger.io/v2/swagger.json',
http_client=http_client,
)
pet = client.pet.getPetById(petId=1).response().resultDocumentation
-------------More documentation is available at http://bravado.readthedocs.org
Installation
------------.. code-block:: bash
# 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
-----.. code-block:: bash
# Run tests
tox# Install git pre-commit hooks
tox -e pre-commit installContributing
------------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 RequestReleasing a new version (Yelpers only)
--------------------------------------
See https://yelpwiki.yelpcorp.com/pages/viewpage.action?pageId=19022447License
-------Copyright (c) 2013, Digium, Inc. All rights reserved.
Copyright (c) 2014-2021, Yelp, Inc. All rights reserved.Bravado is licensed with a `BSD 3-Clause
License `__.