🏠 kovnet
A CLI and Python SDK for KovNet, the Dutch childcare (kinderopvang) platform.
Contracten bekijken, facturen downloaden en kinderinfo ophalen — zonder de app te openen.
Wat doet het?
kovnet geeft je toegang tot het KovNet kinderopvangplatform vanuit de terminal:
- Kinderen bekijken met geboortedatums
- Contracten tonen met start/einddatums
- Facturen bekijken en PDF's downloaden
- Vakanties tonen
- Explore modus om nieuwe endpoints te ontdekken
- JSON output voor scripting en automatisering
Authenticatie gaat via session cookies — geen browser nodig.
Installatie
# CLI (met pip)
pip install kovnet[cli]
# CLI (met uv, aanbevolen)
uv tool install kovnet[cli]
# CLI (met Homebrew)
brew install anneschuth/tap/kovnet
# Alleen SDK (geen rich/click)
pip install kovnet
# Vanuit source
git clone https://github.com/anneschuth/kovnet-cli.git
cd kovnet-cli
uv tool install .[cli]
Snel aan de slag
# Inloggen
kovnet login
# Kinderen bekijken
kovnet children
# Contracten
kovnet contracts
# Facturen
kovnet invoices
# Factuur PDF openen (nummer uit de output)
kovnet open 1
# Endpoint verkennen
kovnet explore /parents/contracts/123/invoices
Alle commando's
| Commando | Wat het doet |
|---|---|
kovnet login |
Inloggen bij KovNet |
kovnet logout |
Sessie verwijderen |
kovnet children |
Kinderen tonen |
kovnet contracts |
Contracten tonen |
kovnet invoices |
Facturen tonen (--contract ID) |
kovnet holidays |
Vakanties tonen (--contract ID) |
kovnet open <ref> |
Factuur PDF openen op nummer |
kovnet explore <url> |
URL verkennen met sessie cookies |
kovnet completion <shell> |
Shell completion script genereren |
JSON output
Elke data-commando ondersteunt --json voor machine-leesbare output:
kovnet --json contracts
kovnet --json invoices | jq '.[0].bedrag'
Configuratie
Credentials
Drie manieren om in te loggen:
# 1. Interactief (prompts)
kovnet login
# 2. Command-line opties
kovnet login -u je@email.nl -p geheim
# 3. Environment variabelen of .env bestand
export KOVNET_USERNAME=je@email.nl
export KOVNET_PASSWORD=geheim
kovnet login
Voor .env bestanden: plaats ze in ~/.config/kovnet/.env of in je huidige directory.
Sessie
Na het inloggen worden session cookies opgeslagen in ~/.config/kovnet/session.json (mode 0600). De CLI probeert automatisch opnieuw in te loggen als de sessie verlopen is (met opgeslagen .env credentials).
Shell completion
# bash — toevoegen aan ~/.bashrc
eval "$(kovnet completion bash)"
# zsh — toevoegen aan ~/.zshrc
eval "$(kovnet completion zsh)"
# fish
kovnet completion fish > ~/.config/fish/completions/kovnet.fish
SDK gebruik
Het kovnet package kan ook als Python SDK gebruikt worden, zonder CLI-afhankelijkheden:
from kovnet import KovNetClient, KovNetAuth
# Inloggen (eenmalig)
session = KovNetAuth.login("je@email.nl", "geheim")
# API gebruiken
with KovNetClient(session) as client:
for child in client.get_children():
print(child.get("nickname", child.get("name", "")))
for contract in client.get_contracts():
print(contract["start_date"], contract["end_date"])
Development
git clone https://github.com/anneschuth/kovnet-cli.git
cd kovnet-cli
uv sync --extra dev
uv run pre-commit install
uv run pytest
uv run kovnet --help
See CONTRIBUTING.md for more details.
Licentie
MIT — see LICENSE.
Release files for kovnet 1.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 | |
|---|---|---|---|
| kovnet-1.1.5.tar.gz | 34.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kovnet-1.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 49.2 kB
Release files / kovnet-1.1.5.tar.gz
| Download URL | kovnet-1.1.5.tar.gz |
|---|---|
| Size | 34.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fec107e164ceb812c0b147f7453d45b4f82619c5577e5abbb623476a9640e9e7
|
|
BLAKE2b-256 checksum How to use checksums |
27996d2d2f286d258cb1181c3ff3f01a6f7ad686dfb07a46e96ceb7deacf016e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 17, 2026.
Transparency logRelease files / kovnet-1.1.5-py3-none-any.whl
| Download URL | kovnet-1.1.5-py3-none-any.whl |
|---|---|
| Size | 14.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b495602652410765a56c2d8703c123088021694233fbaae2dc0e1933312ea92
|
|
BLAKE2b-256 checksum How to use checksums |
24cbe5b4460a1eb6b267aa0c01ce402897b4fe40f92c1abc412a6ea4ed15d253
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 17, 2026.
Transparency log