Command-line interface for the KovNet childcare platform (kinderopvang)
Project description
🏠 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kovnet-1.1.5.tar.gz.
File metadata
- Download URL: kovnet-1.1.5.tar.gz
- Upload date:
- Size: 34.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fec107e164ceb812c0b147f7453d45b4f82619c5577e5abbb623476a9640e9e7
|
|
| MD5 |
bca2ebfd5cbb80b7fd731b09786459f5
|
|
| BLAKE2b-256 |
27996d2d2f286d258cb1181c3ff3f01a6f7ad686dfb07a46e96ceb7deacf016e
|
Provenance
The following attestation bundles were made for kovnet-1.1.5.tar.gz:
Publisher:
release.yaml on anneschuth/kovnet-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kovnet-1.1.5.tar.gz -
Subject digest:
fec107e164ceb812c0b147f7453d45b4f82619c5577e5abbb623476a9640e9e7 - Sigstore transparency entry: 1114863295
- Sigstore integration time:
-
Permalink:
anneschuth/kovnet-cli@f9139cf11012259ac2131fdfc929ab49a1c6f8a6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/anneschuth
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@f9139cf11012259ac2131fdfc929ab49a1c6f8a6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file kovnet-1.1.5-py3-none-any.whl.
File metadata
- Download URL: kovnet-1.1.5-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b495602652410765a56c2d8703c123088021694233fbaae2dc0e1933312ea92
|
|
| MD5 |
18f585ce9a8dcd72dbc1a895c4f7adc5
|
|
| BLAKE2b-256 |
24cbe5b4460a1eb6b267aa0c01ce402897b4fe40f92c1abc412a6ea4ed15d253
|
Provenance
The following attestation bundles were made for kovnet-1.1.5-py3-none-any.whl:
Publisher:
release.yaml on anneschuth/kovnet-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
kovnet-1.1.5-py3-none-any.whl -
Subject digest:
8b495602652410765a56c2d8703c123088021694233fbaae2dc0e1933312ea92 - Sigstore transparency entry: 1114863300
- Sigstore integration time:
-
Permalink:
anneschuth/kovnet-cli@f9139cf11012259ac2131fdfc929ab49a1c6f8a6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/anneschuth
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@f9139cf11012259ac2131fdfc929ab49a1c6f8a6 -
Trigger Event:
push
-
Statement type: