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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file requests_openapi-1.0.6.tar.gz.
File metadata
- Download URL: requests_openapi-1.0.6.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
408973df01bab7ce59d048e054e00d80a828a0ef05197236be4ba6a47ff14294
|
|
| MD5 |
fb6a11458b668f5bcdd997c74d8a5c1c
|
|
| BLAKE2b-256 |
f250cda313694e7de46033a750e9b3018b7dff00aab1de9c25ebe576f89e909e
|
File details
Details for the file requests_openapi-1.0.6-py3-none-any.whl.
File metadata
- Download URL: requests_openapi-1.0.6-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ddb75d17b3a737c6f7d2aa61e6e2f9c99476ca6022c703f2f419495854f9dda
|
|
| MD5 |
c03d08dcb236da69ffcc6ef569de7e47
|
|
| BLAKE2b-256 |
0acff939cde6c4246928faa031dbd658c619b5e0b8f282c39a19e2eb6d66df8a
|