Skip to main content

codecov

edupsyadmin

edupsyadmin logo

edupsyadmin provides tools to help school psychologists with their documentation

Key Features

  • Secure & Encrypted: Sensitive client data is stored in an encrypted SQLite database using cryptography and keyring for secure credential management.
  • Modern TUI & CLI: Choose between an intuitive Terminal User Interface (TUI) for interactive workflows or a powerful Command Line Interface (CLI) for automation.
  • Automated Documentation: Automatically fill PDF forms and generate reports using stored client data.
  • Data Interoperability: Import student data from common school management software via CSV exports.

Basic Setup

You can install the CLI using pip or uv.

Install with uv:

uv tool install edupsyadmin

You may get a warning that the bin directory is not on your environment path. If that is the case, copy the path from the warning and add it directory to your environment path permanently or just for the current session.

Run the application:

edupsyadmin --help

Quick Start

The fastest way to get started is by using the interactive edupsyadmin TUI:

Edupsyadmin TUI

1. Configure the app

First, you have to update the config file with your data using the config editor TUI:

edupsyadmin edit-config

2. Launch the main interface

Once configured, you can view, add, and edit clients, as well as fill PDF forms directly from the main TUI:

edupsyadmin tui

Getting started

Keyring backend

edupsyadmin uses keyring to store the encryption credentials. keyring has several backends.

  • On Windows the default is the Windows Credential Manager (German: Anmeldeinformationsverwaltung).

  • On macOS, the default is Keychain (German: Schlüsselbund)

Those default keyring backends unlock when you login to your machine. You may want to install a backend that requires separate unlocking: https://keyring.readthedocs.io/en/latest/#third-party-backends

The database

The information you enter, is stored in an SQLite database with the fields described in the documentation for edupsyadmin

Examples

Get information about the path to the config file and the path to the database:

edupsyadmin info

Add a client interactively:

edupsyadmin new-client

Add a client to the database from a Webuntis csv export:

edupsyadmin new-client --csv ./path/to/your/file.csv --name "short_name_of_client"

Change values for the database entry with client_id=42 interactively:

edupsyadmin set-client 42

Change values for the database entry with client_id=42 from the command line:

$ edupsyadmin set-client 42 \
  --key_value_pairs \
  "nta_font=1" \
  "nta_zeitv_vieltext=20" \
  "nos_rs=0" \
  "lrst_diagnosis_encr=iLst"

Delete the database entry with client_id=42:

edupsyadmin delete-client 42

See an overview of all clients in the database:

edupsyadmin get-clients

Fill a PDF form for the database entry with client_id=42:

edupsyadmin create-documentation 42 --form_paths ./path/to/your/file.pdf

Fill all files that belong to the form_set lrst (as defined in the config.yml) for the database entry with client_id=42:

edupsyadmin create-documentation 42 --form_set lrst

Generate a "Tätigkeitsbericht" PDF with 3 Anrechnungsstunden (experimental):

edupsyadmin taetigkeitsbericht 3

Flatten filled PDF forms:

edupsyadmin flatten-pdfs ./path/to/filled_form.pdf

Development

Create the development environment:

uv v
uv pip install -e .

Run the test suite:

.venv/bin/python -m pytest -v -n auto --cov=src test/

Run the benchmarks (set --benchmark-time-unit=s to set the unit to seconds)

.venv/bin/python -m pytest --benchmark-only test/

Build documentation:

.venv/bin/python -m sphinx -M html docs docs/_build

License

This project is licensed under the terms of the MIT License. Portions of this project are derived from the python application project cookiecutter template by Michael Klatt, which is also licensed under the MIT license.

This project also bundles the Liberation Sans font family, which is licensed under the SIL Open Font License, Version 1.1.

See the LICENSE.txt file for details.

Metadata

Release files for edupsyadmin 9.3.0

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

Source distribution (sdist)

Source distribution for edupsyadmin 9.3.0
File Size Uploaded
edupsyadmin-9.3.0.tar.gz 2.3 MB Details

Built distribution (wheel)

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

Total release size: 2.9 MB

Release files / edupsyadmin-9.3.0.tar.gz

Download URL edupsyadmin-9.3.0.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
b64a10ca62dc4e321fb69116c2bdcfacd1b22a920feec0c93bf97afe478ac8a8
BLAKE2b-256 checksum
How to use checksums
c26a11d4458e4b115b068eb174c0baa6b80622ff0339f8268cf021e38e22cce7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / edupsyadmin-9.3.0-py3-none-any.whl

Download URL edupsyadmin-9.3.0-py3-none-any.whl
Size 578.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a6d2690d71632e63f93995c6fc0b4ba0d7ae9c1ae29916b78782e7da5a18582
BLAKE2b-256 checksum
How to use checksums
c75a8af90b0dd9836322ed304f1f52c6a3b292972dde8cb80a532a534b4e9b21
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

10.0.1

2 release files

10.0.0

2 release files

This release

9.3.0 This release

2 release files

9.2.0

2 release files

9.1.0

2 release files

9.0.0

2 release files

8.2.1

2 release files

8.2.0

2 release files

8.1.5

2 release files

8.1.4

2 release files

8.1.3

2 release files

8.1.1

2 release files

8.1.0

2 release files

8.0.6

2 release files

8.0.3

2 release files

8.0.2

2 release files

8.0.1

2 release files

8.0.0

2 release files

7.13.3

2 release files

7.13.2

2 release files

7.13.1

2 release files

7.13.0

2 release files

7.11.3

2 release files

7.11.2

2 release files

7.10.1

2 release files

7.10.0

2 release files

7.9.3

2 release files

7.9.2

2 release files

7.9.1

2 release files

7.9.0

2 release files

7.8.2

2 release files

7.8.1

2 release files

7.8.0

2 release files

7.7.0

2 release files

7.6.0

2 release files

7.5.0

2 release files

7.4.0

2 release files

7.3.0

2 release files

7.2.0

2 release files

7.1.0

2 release files

6.3.0

2 release files

6.1.1

2 release files

6.1.0

2 release files

6.0.0

2 release files

5.1.0

2 release files

5.0.0

2 release files

4.0.0

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

2.0.1

2 release files

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