Skip to main content

Useful tools I need in many projects.

Project description

obelixtools

  1. Install it with pip install obelixtools

API

This is a small wrapper I wrote around the requests library. It has some extra features like a speedtest and connectivity check.

Basic use

from obelixtools import API
endpoint = API(url, 'json')
endpoint.query()
print(endpoint.content)

Speedtest and connectivity check

% 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µ

Variables

.url : str

The URL of the API.

.format : str

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.

.content

The content of the API response after postprocessing. Postprocessing happens by setting .format

Methods

.query(url : str, optional) -> bool

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 loggin 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 humand readable speed (e.g. kB/s, MB/s...)

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

obelixtools-1.1.1.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

obelixtools-1.1.1-py2-none-any.whl (5.2 kB view hashes)

Uploaded Python 2

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