Skip to content

anneschuth/kovnet-cli

Repository files navigation

🏠 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.

CI PyPI Python License


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
  • Chats lezen met de opvang, per kind en groep
  • 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

# Chats bekijken
kovnet chats
kovnet chats --child emma
kovnet chats --group lieveheersbeestjes

# 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 chats Chats met berichten tonen (--child, --group)
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.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages