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.5.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

requests_openapi-1.0.5-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

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

Hashes for requests-openapi-1.0.5.tar.gz
Algorithm Hash digest
SHA256 6ec605f54977b93f712281cf5aebf3f20272a77c145b5d049dd9483acb19ec30
MD5 4f7e4c8e64cf432740a7447d6af6f229
BLAKE2b-256 ec8919e4b040377659ca2a986eae6d08d0080968f23eb8015601e56a049719cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for requests_openapi-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2a3d51c09ffd77a2ff8dcbe3bc608fd0dc6fdea0ecf741204cbf95ab93429a32
MD5 2ac1f42980f45146f26676791ee94684
BLAKE2b-256 cf38d671d095603bfe2577367c8a92700bae5795bc91d9534e88bedfb0e0255f

See more details on using hashes here.

Supported by

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