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.5). The core works. Tests are still in development.

Metadata

Release files for ww-net 0.1.5

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.5
File Size Uploaded
ww_net-0.1.5.tar.gz 6.7 kB Details

Built distribution (wheel)

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

Total release size: 13.9 kB

Release files / ww_net-0.1.5.tar.gz

Download URL ww_net-0.1.5.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
39dc8903a39012bfd0477ce50be4aba440f6b60b20166878fb7c51aefecacb49
BLAKE2b-256 checksum
How to use checksums
732f5f9578acd6f0b29de652ae584f598f36980307dabaf10f8edee5d053fd31
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.5-py3-none-any.whl

Download URL ww_net-0.1.5-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b43dad15fef2f3a32f94573a6e39274e04f7cee0505ee4074bdd6ffcc4d8d438
BLAKE2b-256 checksum
How to use checksums
c88cec98e2f9425d7b21d19d6520bd0e949631b7a8bb7f8d745c85c2f460516b
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

0.1.6

2 release files

This release

0.1.5 This release

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