Skip to main content

RequestsOpenAPI is a python client library for OpenAPI 3.0

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requests_openapi-1.0.6.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

requests_openapi-1.0.6-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

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

Hashes for requests_openapi-1.0.6.tar.gz
Algorithm Hash digest
SHA256 408973df01bab7ce59d048e054e00d80a828a0ef05197236be4ba6a47ff14294
MD5 fb6a11458b668f5bcdd997c74d8a5c1c
BLAKE2b-256 f250cda313694e7de46033a750e9b3018b7dff00aab1de9c25ebe576f89e909e

See more details on using hashes here.

File details

Details for the file requests_openapi-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for requests_openapi-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2ddb75d17b3a737c6f7d2aa61e6e2f9c99476ca6022c703f2f419495854f9dda
MD5 c03d08dcb236da69ffcc6ef569de7e47
BLAKE2b-256 0acff939cde6c4246928faa031dbd658c619b5e0b8f282c39a19e2eb6d66df8a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page