Skip to content

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.

CIPyPIPythonLicense


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

CommandoWat het doet
kovnet loginInloggen bij KovNet
kovnet logoutSessie verwijderen
kovnet childrenKinderen tonen
kovnet contractsContracten tonen
kovnet invoicesFacturen tonen (--contract ID)
kovnet holidaysVakanties tonen (--contract ID)
kovnet chatsChats 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 bestandexport 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 ~/.bashrceval"$(kovnet completion bash)"# zsh — toevoegen aan ~/.zshrceval"$(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:

fromkovnetimportKovNetClient, KovNetAuth# Inloggen (eenmalig)session=KovNetAuth.login("je@email.nl", "geheim")
# API gebruikenwithKovNetClient(session) asclient:
forchildinclient.get_children():
print(child.get("nickname", child.get("name", "")))
forcontractinclient.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

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages