- Install it with
pip install obelixtools
This is a small wrapper I wrote around the requests library. It has some extra features like a speedtest and connectivity check.
from obelixtools import API
endpoint = API(url, 'json')
endpoint.query()
print(endpoint.content)
% python -m obelixtools
06-Oct-19 11:28:44 - obelixtools - INFO: Performing selftest with https://1.1.1.1
06-Oct-19 11:28:44 - obelixtools - INFO: Connected to the internet.
06-Oct-19 11:28:44 - obelixtools - INFO: Performing speedtest with http://speedtest.belwue.net/100M
06-Oct-19 11:29:11 - obelixtools - INFO: Connection speed is 3MB/sµ
The URL of the API.
Define a certain data format for the data return by the API. This can by either json, xml or raw. Any other value will sit it to raw.
The content of the API response after postprocessing. Postprocessing happens by setting .format
Fetched the data from the API if the age of the existing data in .content is older than .last_update. This timeout is ignored if url is set (useful for speedtests).
.check_connection(url='https://1.1.1.1', timeout=5) -> bool
Fetches the given url and and returns True if the servers returns a status code 200 and False otherwise. Comprehensive log messages are passed to the logging module.
.speedtest(url='http://speedtest.belwue.net/100M') -> bool
Downloads the file provided at the given url and returns the speed in bytes per second. The logging module received a log message with human readable speed (e.g. kB/s, MB/s...)