Skip to main content

Useful groupings of exceptions for working with network requests.

Project description

neterr

Groupings of exceptions for working with network requests.

When making network requests in python there are a number of possible exceptions to due network issues. These are often a temporarily problem that should be prioritized separately from a bug in code. As a result handling them with a bare except is not safe but knowing exactly what exceptions to handle can be difficult.

Installation

pip install neterr

Error Groups

neterr provides the exception groups SocketErrors, StrictHTTPErrors, AmbiguousHTTPErrors and HTTPErrors.

Usage Example

import urllib.request
from neterr import HTTPErrors
try:
    urllib.request.urlopen('http://127.0.0.1').read()
except HTTPErrors:
    print('caught!')

SocketErrors

SocketErrors contains exceptions that may be raised while working with the socket module.

StrictHTTPErrors

StrictHTTPErrors contains exceptions that may be raised while working with the http module and some common modules that use it (such as urllib and requests). This grouping only contains exceptions that are clearly not the result of code. They may be caused by an infrastructure or configuration problem and are often temporary.

StrictHTTPErrors is a superset of SocketErrors.

AmbiguousHTTPErrors

AmbiguousHTTPErrors contains exceptions that may be raised while working with the http module and some common modules that use it (such as urllib and requests). This grouping contains exceptions that may or may not be caused by code. The most common reason for this ambiguity is that they are the result of an HTTP response with a 4xx or 5xx status. It is recommended to handle 4xx and 5xx responses separately. 4xx responses are often caused by unvalidated user input or another code issue. 5xx responses are often caused by temporarily unavailability in a dependent service.

HTTPErrors

StrictHTTPErrors contains exceptions that may be raised while working with the http module and some common modules that use it (such as urllib and requests).

HTTPErrors is a superset of StrictHTTPErrors and AmbiguousHTTPErrors.

Versioning

This package strictly follows semantic versioning.

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

neterr-1.0.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

neterr-1.0.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file neterr-1.0.1.tar.gz.

File metadata

  • Download URL: neterr-1.0.1.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for neterr-1.0.1.tar.gz
Algorithm Hash digest
SHA256 f58ba04095f030a5ad02a7dd309ddaa51137493685660d8960a6c5055c9fe1ab
MD5 a14c50a7a8fd9e32db8a9c3063ad49ca
BLAKE2b-256 c4aac4fb32e9737ef67a8b520044ff823b14fd7972e4d1b81578c9cc65a1b7e7

See more details on using hashes here.

File details

Details for the file neterr-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: neterr-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.8.0

File hashes

Hashes for neterr-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7afe99e1b818d6e88df39c4bd6592416da92d8e37c69e37fc7ae8282b4d335b8
MD5 599b2dada45203783a6ba7c9839fb62f
BLAKE2b-256 42f491f09d9bd50e3dc2ed50b0dcd45a7c21756b079753ef20f4d1f6c900f596

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