Skip to main content

ww-net

Een lichtgewicht netwerk-checker die geduldig wacht, slim omgaat met DNS en logt via arin_log. Speciaal gebouwd voor langlopende datastromen en pipelines die niet mogen crashen als de internetverbinding tijdelijk wegvalt.

Waarom ww-net?

  • TCP in plaats van ICMP: Het traditionele ping-commando wordt vaak geblokkeerd door routers en firewalls. ww-net test via de poorten 80 en 443 — precies zoals een webbrowser dat doet. Hierdoor werkt de controle altijd betrouwbaar, ook achter strikte firewalls.
  • Geen netwerkbelasting: De tool bestookt het netwerk niet met constante aanvragen. Tijdens een onderbreking loopt het interval stapsgewijs op van 1 naar 15 seconden.
  • Dynamische DNS-keuze: Er wordt willekeurig gekozen uit betrouwbare DNS-servers (Cloudflare, Google, Quad9, OpenDNS). Mocht er één server onbereikbaar zijn, dan schakelt de tool direct over naar een andere.
  • Urenlang geduld: Met de parameter wait stel je eenvoudig de maximale wachttijd in seconden in (bijvoorbeeld tot 12 uur of langer), zonder dat dit extra resources kost.
  • Geïntegreerde logging: Dankzij de integratie met arin_log worden netwerkstoringen direct in je bestaande logbestanden weggeschreven. Je hoeft achteraf dus geen losse logbestanden samen te voegen.
  • Eén slimme functie: "Is er algemeen internet?" óf "Is deze specifieke host bereikbaar?". Beide vragen worden beantwoord vanuit dezelfde intuïtieve functie.

Installatie

pip install ww-net

De library arin_log wordt automatisch als afhankelijkheid (dependency) meegeïnstalleerd.

Eerste gebruik: Bij de allereerste import opent arin_log een dialoogvenster waarin je een map voor de logbestanden kunt kiezen. Deze keuze wordt vervolgens definitief onthouden.

Gebruik

from ww_net import is_net

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

# 2. Controleer of een specifieke host bereikbaar is (wacht maximaal 12 uur)
if is_net(host="https://google.com", wait=43200):
    print("Host is bereikbaar")

Demo

Twee manieren om de demonstratie te starten:

ww-net
python -m ww_net

Beide starten dezelfde demonstratie: de algemene internet-check, de bereikbaarheid van een specifieke host en de nette afhandeling van een niet-bestaande host.

Screenshots

Console — Schoon en zonder emoji's:

ww-net console

Logbestand — Inclusief emoji's en exacte tijdstempels:

ww-net logbestand

Wachttijden en intervallen

De wait-parameter bepaalt na hoeveel seconden ww_net definitief opgeeft. De standaardwaarde is 3600 seconden (1 uur). Handige referentiewaarden voor langere periodes:

Gewenste duur Waarde in seconden
1 uur 3600
4 uur 14400
8 uur 28800
12 uur 43200

Tijdens het wachten loopt het controle-interval stapsgewijs op van 1 seconde naar maximaal 15 seconden. Dit voorkomt onnodig netwerkverkeer, terwijl de library alert blijft op herstel van de verbinding.

API-referentie

is_net(host=None, wait=None, logloc=None)

Controleert de netwerkverbinding en retourneert True of False.

Parameter Type Standaardwaarde Beschrijving
host str None De URL of het IP-adres dat je wilt controleren. Indien weggelaten (None), wordt een algemene internet-check uitgevoerd.
wait int 3600 De maximale tijd in seconden dat de functie blijft proberen de verbinding te herstellen.
logloc str None De naam van het logbestand waarin de gebeurtenissen moeten worden opgeslagen.

Logging-configuratie

ww_net maakt gebruik van arin_log. Met de logloc-parameter bepaal je zelf in welk logbestand de netwerkberichten worden weggeschreven:

from ww_net import is_net

# Zonder logloc: berichten worden opgeslagen in het standaardbestand (ww_net)
is_net(wait=3600)

# Met logloc: netwerklogica wordt direct weggeschreven naar je eigen pipeline-log
is_net(wait=3600, logloc="mijn_pipeline")

Korte netwerkhikken van minder dan 2,5 seconde worden automatisch genegeerd. Alleen daadwerkelijke onderbrekingen worden geregistreerd. Hierdoor blijven je logbestanden overzichtelijk en vrij van ruis.

Licentie

Dit project is gelicentieerd onder de MIT-licentie — zie het LICENSE-bestand voor details.

Status

Alpha (0.1.10). De kernfunctionaliteit is stabiel en volledig operationeel. Geautomatiseerde tests zijn momenteel in ontwikkeling.

Metadata

Release files for ww-net 0.1.10

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.10
File Size Uploaded
ww_net-0.1.10.tar.gz 7.4 kB Details

Built distribution (wheel)

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

Total release size: 15.4 kB

Release files / ww_net-0.1.10.tar.gz

Download URL ww_net-0.1.10.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
732490d408872767aaae7914701fbc7cbe932a9980bf49d6746154169a2ec105
BLAKE2b-256 checksum
How to use checksums
3f09dedcfeea120ca6ac8b7a0739425bed3ec0256175807d476ea3fa07b8e887
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.10-py3-none-any.whl

Download URL ww_net-0.1.10-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2657d337dfaa0be36a015b97ed4204b112b9b55a3f3bac39a78cdb2c921056f9
BLAKE2b-256 checksum
How to use checksums
56ccca9200561f9866786739455b43d74278b573ef27edba8ebae5df8ce45f39
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

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

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