Skip to main content

Democritus functions for working with network requests.

Project description

Democritus Networking

PyPI CI Lint codecov The Democritus Project uses semver version 2.0.0 The Democritus Project uses ruff to format and lint code License: LGPL v3

Democritus functions[1] for working with network requests.

[1] Democritus functions are simple, effective, modular, well-tested, and well-documented Python functions.

We use d8s (pronounced "dee-eights") as an abbreviation for democritus (you can read more about this here).

Installation

pip install d8s-networking

Usage

You import the library like:

from d8s_networking import *

Once imported, you can use any of the functions listed below.

Functions

  • def requests_basic_auth(user, password):
        """Return an instance of request's basic auth."""
    
  • def get(
        url,
        *,
        use_common_user_agent: bool = True,
        process_response: bool = False,
        process_response_as_bytes: bool = False,
        **request_kwargs,
    ):
        """Make a GET request to the given URL."""
    
  • def head(url, *, process_response: bool = False, **kwargs):
        """Make a head request."""
    
  • def post(
        url,
        *,
        update_headers_for_datatype: bool = True,
        process_response: bool = False,
        process_response_as_bytes: bool = False,
        **request_kwargs,
    ):
        """Make a POST request to the given URL with the given data."""
    
  • def headers_update(headers: Dict[str, str], new_header_key: str, new_header_value: Any, *, overwrite: bool = True):
        """."""
    
  • def put(
        url,
        *,
        update_headers_for_datatype: bool = True,
        process_response: bool = False,
        process_response_as_bytes: bool = False,
        **request_kwargs,
    ):
        """Make a PUT request to the given URL with the given data."""
    
  • def delete(
        url,
        *,
        process_response: bool = False,
        process_response_as_bytes: bool = False,
        **request_kwargs,
    ):
        """Make a DELETE request to the given URL with the given data."""
    
  • def url_hash(url, hash_type='sha256'):
        """Return the hash of the url."""
    
  • def urllib3_backoff_factor_executions(backoff_factor: float, number_of_requests: int):
        """Return the times (in seconds) of the first n requests with the given backoff_factor. See https://urllib3.readthedocs.io/en/latest/reference/index.html#urllib3.Retry under the "backoff_factor" argument."""
    

Development

👋  If you want to get involved in this project, we have some short, helpful guides below:

If you have any questions or there is anything we did not cover, please raise an issue and we'll be happy to help.

Credits

This package was created with Cookiecutter and Floyd Hightower's Python project template.

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

d8s_networking-0.5.0.tar.gz (93.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

d8s_networking-0.5.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file d8s_networking-0.5.0.tar.gz.

File metadata

  • Download URL: d8s_networking-0.5.0.tar.gz
  • Upload date:
  • Size: 93.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for d8s_networking-0.5.0.tar.gz
Algorithm Hash digest
SHA256 e9fd11f7d1760f990c8530f15cd2c301771f80f56eb113f4d09145b30129a9e7
MD5 5666e90960a059ba89ff467fea6575eb
BLAKE2b-256 7dffcf519eafc90d0f39011cfdf6e516877dce0fe8bcb0bcb7a0cfb6e4f08cfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for d8s_networking-0.5.0.tar.gz:

Publisher: release-please.yml on democritus-project/d8s-networking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file d8s_networking-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: d8s_networking-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 20.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for d8s_networking-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f8c329248815c29dd1dcb55e2b3c028b5fc638202cedc682bb9cf0e66bcf5a2
MD5 50237705d272b38de29b8dca87fb63d8
BLAKE2b-256 ce872ede3e4866479fa36f02f21aa522c989419a4457ac1769791fb282331339

See more details on using hashes here.

Provenance

The following attestation bundles were made for d8s_networking-0.5.0-py3-none-any.whl:

Publisher: release-please.yml on democritus-project/d8s-networking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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