Skip to main content

📬 parro

A CLI and Python SDK for Parro, the Dutch school communication platform.
Mededelingen lezen, chatrooms volgen en bijlages openen — zonder de app te openen.

CI PyPI Python License


Wat doet het?

parro geeft je toegang tot het Parro schoolplatform vanuit de terminal:

  • Mededelingen lezen met bijlages, direct openen in Preview
  • Chatrooms bekijken en berichten lezen
  • Ongelezen aantallen checken
  • Kalender iCal URLs ophalen
  • JSON output voor scripting en automatisering

Authenticatie gaat via een headless OAuth2 flow — geen browser nodig.

Installatie

# CLI (met pip)
pip install parro[cli]

# CLI (met uv, aanbevolen)
uv tool install parro[cli]

# CLI (met Homebrew)
brew install anneschuth/tap/parro

# Alleen SDK (geen rich/click)
pip install parro

# Vanuit source
git clone https://github.com/anneschuth/parro-cli.git
cd parro-cli
uv tool install .[cli]

Snel aan de slag

# Inloggen
parro login

# Mededelingen bekijken
parro announcements

# Bijlage openen (nummer uit de output)
parro open 3

# Chatrooms
parro chatrooms
parro messages 12345

# Ongelezen berichten
parro unread

Alle commando's

Commando Wat het doet
parro login Inloggen via headless OAuth2
parro logout Tokens verwijderen
parro account Account info tonen
parro announcements Mededelingen ophalen (--limit N, --group ID)
parro chatrooms Chatrooms tonen, gesorteerd op activiteit
parro messages <id> Berichten in een chatroom (--limit N)
parro open <ref> Bijlage openen op nummer of URL
parro children Kinderen tonen
parro groups Groepen tonen
parro unread Ongelezen aantallen
parro calendar iCal URLs tonen
parro completion <shell> Shell completion script genereren

JSON output

Elke data-commando ondersteunt --json voor machine-leesbare output:

parro --json announcements --limit 5
parro --json chatrooms | jq '.[0].title'

Configuratie

Credentials

Drie manieren om in te loggen:

# 1. Interactief (prompts)
parro login

# 2. Command-line opties
parro login -u je@email.nl -p geheim

# 3. Environment variabelen of .env bestand
export PARRO_USERNAME=je@email.nl
export PARRO_PASSWORD=geheim
parro login

Voor .env bestanden: plaats ze in ~/.config/parro/.env of in je huidige directory.

Tokens

Na het inloggen worden tokens opgeslagen in ~/.config/parro/tokens.json (mode 0600). De CLI refresht automatisch verlopen tokens.

Shell completion

# bash — toevoegen aan ~/.bashrc
eval "$(parro completion bash)"

# zsh — toevoegen aan ~/.zshrc
eval "$(parro completion zsh)"

# fish
parro completion fish > ~/.config/fish/completions/parro.fish

SDK gebruik

Het parro package kan ook als Python SDK gebruikt worden, zonder CLI-afhankelijkheden:

from parro import ParroClient, ParroAuth, link_id, identity_name

# Inloggen (eenmalig)
tokens = ParroAuth.login("je@email.nl", "geheim")

# API gebruiken
with ParroClient(tokens["access_token"]) as client:
    for ann in client.get_all_announcements(limit=5):
        print(ann["title"], ann.get("_group_name", ""))

    for child in client.get_children():
        print(identity_name(child))

Development

git clone https://github.com/anneschuth/parro-cli.git
cd parro-cli
uv sync --extra dev
uv run pre-commit install
uv run pytest
uv run parro --help

See CONTRIBUTING.md for more details.

Licentie

MIT — see LICENSE.

Release files for parro 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for parro 1.0.4
File Size Uploaded
parro-1.0.4.tar.gz 34.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for parro 1.0.4
File Interpreter ABI Platform
parro-1.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 48.2 kB

Release files / parro-1.0.4.tar.gz

Download URL parro-1.0.4.tar.gz
Size 34.4 kB
Tags Source
SHA-256 checksum
How to use checksums
eb76db5414fad2e7f139b89453bce818057dd846a7df06649be487997470a918
BLAKE2b-256 checksum
How to use checksums
1cdf149047c4c8dcef44647d57d6b2a330885b35e5a6e43fd8545e9dcb64bed7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 21, 2026.

Transparency log

Release files / parro-1.0.4-py3-none-any.whl

Download URL parro-1.0.4-py3-none-any.whl
Size 13.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f6528cd7e6bba67df99b5390f6dce15c6e7a3b847e89f6ca002c7d407052652
BLAKE2b-256 checksum
How to use checksums
ce9d59979bcc464668ca0f2317e6efea07f701584fe432c059f271f336fc0352
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 21, 2026.

Transparency log

Release history Release notifications | RSS feed

1.1.0

2 release files

This release

1.0.4 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page