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-nettest 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
waitstel 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_logworden 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_logeen 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:
Logbestand — Inclusief emoji's en exacte tijdstempels:
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)
| File | Size | Uploaded | |
|---|---|---|---|
| ww_net-0.1.10.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|