Skip to main content

ww-net

Een netwerk-checker die geduldig wacht, slim omgaat met DNS, en logt via arin_log. Gebouwd voor langlopende pipelines die niet mogen vallen als het internet even wegvalt.

Waarom ww-net?

  • Checkt TCP, niet ICMP. ping wordt vaak geblokkeerd door routers en firewalls. ww-net test poorten 80 en 443 — precies wat je browser ook doet. Daarom werkt het betrouwbaar achter een router.
  • Hamert het netwerk niet. Wacht met oplopende intervallen (1s → 15s), niet met een vaste korte poll.
  • Kiest willekeurig een DNS-server. Cloudflare, Google, Quad9, OpenDNS — als één plat ligt, probeert hij een andere.
  • Wacht uren als het moet. Eén parameter (wait) in seconden; tot 12 uur of langer, zonder het netwerk te belasten.
  • Logt via arin_log. Netwerkproblemen komen in je bestaande logbestand, niet in een apart spoor dat je later moet samenvoegen.
  • Werkt voor twee vragen. "Is er internet?" én "Is déze host bereikbaar?"

Installatie

pip install ww-net

arin_log wordt automatisch mee geïnstalleerd als dependency.

Eerste gebruik: bij de eerste import opent arin_log een dialoog om een folder voor de logbestanden te kiezen. Daarna wordt die keuze onthouden.

Gebruik

from ww_net import is_net, is_host

# Controleer of er internet is (wacht tot 12 uur)
if is_net(wait=43200):
    print("Internet is beschikbaar")

# Controleer of een specifieke host bereikbaar is
if is_host("https://www.google.com/", wait=43200):
    print("Host is bereikbaar")

Demo

python -m ww_net

Draait een snelle netwerk-check: is er internet, is een host bereikbaar, en hoe wordt een niet-bestaande host afgehandeld?

Screenshots

Console — schoon, zonder emoji's:

ww-net console

Logbestand — met emoji's en tijdstempels:

ww-net logbestand

Wachten

De wait-parameter is de tijd (in seconden) waarna ww_net opgeeft. De standaardwaarde is 3600 (1 uur). Omdat het in seconden gaat, kun je gemakkelijk langere periodes instellen:

Duur Seconden
1 uur 3600
4 uur 14400
8 uur 28800
12 uur 43200

Tijdens het wachten loopt het interval op van 1 seconde tot 15 seconden. Zo wordt het netwerk niet onnodig belast, maar blijft ww_net wel alert.

API

Functie Beschrijving
is_net(wait=None, logloc=None) Controleert of er internet is. Wacht tot wait seconden.
is_host(host, wait=None, logloc=None) Controleert of host bereikbaar is. Wacht tot wait seconden.

Beide functies retourneren True of False.

Logging

ww_net logt via arin_log. De logloc-parameter bepaalt in welk logbestand de berichten terechtkomen:

from ww_net import is_net

# Zonder logloc: berichten gaan naar het standaardbestand (ww_net)
is_net(wait=3600)

# Met logloc: berichten gaan naar een eigen logbestand (mijn_pipeline)
is_net(wait=3600, logloc="mijn_pipeline")

Zo kun je netwerkproblemen in het logbestand van je eigen pipeline plaatsen.

Korte hikken (< 2,5 seconde) worden niet gelogd. Alleen echte onderbrekingen komen in het logbestand. Zo blijft het logbestand schoon en zie je alleen wat de moeite waard is.

Licentie

MIT — zie LICENSE.

Status

Alpha (0.1.6). The core works. Tests are still in development.

Metadata

Release files for ww-net 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ww-net 0.1.6
File Size Uploaded
ww_net-0.1.6.tar.gz 6.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ww-net 0.1.6
File Interpreter ABI Platform
ww_net-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 13.8 kB

Release files / ww_net-0.1.6.tar.gz

Download URL ww_net-0.1.6.tar.gz
Size 6.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c13aff51395a0a759ef8b61d66b2e193285f4fa4cd54368ad3c7c72687daaca7
BLAKE2b-256 checksum
How to use checksums
e7de63675179eeb22c974b3d43837c969256a8c6030ab65c2d73e7e22714fd63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / ww_net-0.1.6-py3-none-any.whl

Download URL ww_net-0.1.6-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a76c17a6f979d6aa4e63f42c01f509d5c4c338a136ace72e3d01f34ca9ee0850
BLAKE2b-256 checksum
How to use checksums
70a807812be496bc389f48406dae7b79478912967a83a19eb7af3030d47c0d31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release history Release notifications | RSS feed

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page