Skip to main content

requests-openapi

image image image image

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

Release files for requests-openapi 1.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for requests-openapi 1.0.6
File Size Uploaded
requests_openapi-1.0.6.tar.gz 9.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for requests-openapi 1.0.6
File Interpreter ABI Platform
requests_openapi-1.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 16.2 kB

Release files / requests_openapi-1.0.6.tar.gz

Download URL requests_openapi-1.0.6.tar.gz
Size 9.9 kB
Tags Source
SHA-256 checksum
How to use checksums
408973df01bab7ce59d048e054e00d80a828a0ef05197236be4ba6a47ff14294
BLAKE2b-256 checksum
How to use checksums
f250cda313694e7de46033a750e9b3018b7dff00aab1de9c25ebe576f89e909e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / requests_openapi-1.0.6-py3-none-any.whl

Download URL requests_openapi-1.0.6-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ddb75d17b3a737c6f7d2aa61e6e2f9c99476ca6022c703f2f419495854f9dda
BLAKE2b-256 checksum
How to use checksums
0acff939cde6c4246928faa031dbd658c619b5e0b8f282c39a19e2eb6d66df8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release history Release notifications | RSS feed

This release

1.0.6 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.9.7

2 release files

0.9.6

1 release file

0.9.5

2 release files

0.9.4

1 release file

0.9.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page