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?
- 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.demo
Draait een snelle netwerk-check: is er internet, en is een host bereikbaar?
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.
Licentie
MIT — zie LICENSE.
Metadata
Release files for ww-net 0.1.2
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.2.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ww_net-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.3 kB
Release files / ww_net-0.1.2.tar.gz
| Download URL | ww_net-0.1.2.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
66cda6d149e5c60848b392285e66133b788c34ecf00ddbccb3ca11c5a2a92e21
|
|
BLAKE2b-256 checksum How to use checksums |
4da7d9aefbaee711ccda9d0281e1dc7803f67d099da48befefe674dc96635369
|
| 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.2-py3-none-any.whl
| Download URL | ww_net-0.1.2-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
085e2a4d7177d5ca6ecd8818982bb33483d093e60221abf73bbc2d329e4ca868
|
|
BLAKE2b-256 checksum How to use checksums |
2a73a2fc0ec295d5456c151d3b8a5a4bc56ac1c6f5099b54f2c05e23426caba2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|