Metadata-Version: 2.4
Name: ww-net
Version: 0.1.0
Summary: Een netwerk-checker die geduldig wacht, slim omgaat met DNS, en logt via arin_log.
Author: Marcus Aurelius
License-Expression: MIT
Project-URL: Homepage, https://github.com/marcus-aurelius-hu/ww_net
Project-URL: Repository, https://github.com/marcus-aurelius-hu/ww_net
Project-URL: Issues, https://github.com/marcus-aurelius-hu/ww_net/issues
Keywords: netwerk,network,internet,host,dns,check,pipeline
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Intended Audience :: Developers
Classifier: Topic :: System :: Networking
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: arin-log>=0.2.0
Dynamic: license-file

# py_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 py_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.

## 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")

## Wachten

De `wait`-parameter is de tijd (in seconden) waarna `py_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 `py_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

`py_net` logt via `arin_log`. De `logloc`-parameter wordt doorgegeven aan
`arin_log`, zodat je de logberichten in het juiste logbestand kunt plaatsen.

## Licentie

MIT — zie [LICENSE](LICENSE).
