Last updated:
0 purchases
httpxy 0.0.0a1
httpxy
HTTP client with yaml support
Adds minor convenience features to the excellent httpx library which aims to make working with yaml easier and safer.
Installation
pip install httpxy
Features
Always use safe_load(). DONE
Response objects have a response.yaml() for deserializing YAML to a dict. DONE
Automatic serialization of objects to yaml. TODO
Automatic deserializing of yaml to python objects/classes/models. TODO
Works with multiple yaml packages. TODO
Examples
Deserialize directly from Response objects.
Equivalent to response.json().
import httpxy
from pprint import pprint
response = httpxy.get("https://mockbin.org/request", headers={"accept": "application/yaml"})
dict_from_yaml = response.yaml()
pprint(dict_from_yaml, sort_dicts=False, depth=1)
{'startedDateTime': '2021-03-06T19:54:03.157Z',
'clientIPAddress': '99.99.999.999',
'method': 'GET',
'url': 'https://mockbin.org/request',
'httpVersion': 'HTTP/1.1',
'cookies': None,
'headers': {...},
'queryString': {},
'postData': {...},
'headersSize': 559,
'bodySize': 0}
print(response.text)
startedDateTime: '2021-03-06T19:54:03.157Z'
clientIPAddress: 99.99.999.999
method: GET
url: 'https://mockbin.org/request'
httpVersion: HTTP/1.1
cookies:
headers:
host: mockbin.org
connection: close
accept-encoding: gzip
x-forwarded-proto: http
cf-visitor: '{"scheme":"https"}'
accept: application/yaml
user-agent: python-httpx/0.17.0
queryString: {}
postData:
mimeType: application/octet-stream
text: ""
params: []
headersSize: 559
bodySize: 0
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.