RequestsOpenAPI is a python client library for OpenAPI 3.0
Project description
requests-openapi
A lightweight but powerful and easy-to-use Python client library for OpenAPI v3.
Key Features
- Lightweight Design: Experience a minimalistic interface.
- Focus on Essentials: Helps you simplify the handling of Paths, Parameters, Headers, Cookies, etc., while inheriting all the capabilities of Requests.
- Testing and Integration Made Easy: Whether you're running tests or integrating with other systems, the client simplifies these tasks.
Usage
import requests_openapi
# load spec from url
c = requests_openapi.Client().load_spec_from_url("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml")
# or load from file
c = requests_openapi.Client().load_spec_from_file("openapi.json")
# set server
c.set_server(requests_openapi.Server(url="https://fake.com/api"))
# custom session for auth or others
c.requestor # a instance of requests.Session, see https://requests.readthedocs.io/en/latest/user/advanced/#session-objects
# set update token
c.requestor.headers.update({"Authorization": "token"})
# call api by operation id
resp = c.listPets() # resp: requests.Response
resp.json()
# get by path id
resp = c.showPetById(petId=1)
resp.json()
# post
resp = c.createPets(json={})
resp.json()
#
# Advanced Usage
#
# set req options, 'req_opts' param to custom request options
requests_openapi.Client(req_opts={"timeout": 60}).load_spec_from_file("xx")
# parameters starts with '_' or not found in openapi spec, will be passed through to the requesting
c.createPets(json={}, _headers={}, _params={}, _cookies={})
# parameters
# in: cookie, name: csrftoken
c.createPets(csrftoken="***")
# in: header, name: x-foo
c.createPets(**{"x-foo": "***"})
# in: path, name: userId
c.getUser(userId=1)
# in: query, name: offset
c.listUsers(offset=1)
# http body, just like requests.Session
c.createPets(json={}) or c.createPets(data={})
Installation
pip install requests-openapi
License
MIT
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.
Source Distribution
Built Distribution
File details
Details for the file requests-openapi-1.0.5.tar.gz
.
File metadata
- Download URL: requests-openapi-1.0.5.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ec605f54977b93f712281cf5aebf3f20272a77c145b5d049dd9483acb19ec30 |
|
MD5 | 4f7e4c8e64cf432740a7447d6af6f229 |
|
BLAKE2b-256 | ec8919e4b040377659ca2a986eae6d08d0080968f23eb8015601e56a049719cc |
File details
Details for the file requests_openapi-1.0.5-py3-none-any.whl
.
File metadata
- Download URL: requests_openapi-1.0.5-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a3d51c09ffd77a2ff8dcbe3bc608fd0dc6fdea0ecf741204cbf95ab93429a32 |
|
MD5 | 2ac1f42980f45146f26676791ee94684 |
|
BLAKE2b-256 | cf38d671d095603bfe2577367c8a92700bae5795bc91d9534e88bedfb0e0255f |