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.
pingwordt vaak geblokkeerd door routers en firewalls.ww-nettest 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_logeen 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:
Logbestand — met emoji's en tijdstempels:
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)
| File | Size | Uploaded | |
|---|---|---|---|
| ww_net-0.1.5.tar.gz | 6.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|