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 10.0.1

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 10.0.1
File Size Uploaded
edupsyadmin-10.0.1.tar.gz 2.3 MB Details

Built distribution (wheel)

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

Total release size: 2.9 MB

Release files / edupsyadmin-10.0.1.tar.gz

Download URL edupsyadmin-10.0.1.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
d4d7dd6613371cda4f2afd4486341287454ac8dc20eab0a9a96577dba3831e51
BLAKE2b-256 checksum
How to use checksums
b95e3f0a6ac63ed0579dfc1b46b984ed434286553230a44afdc16387a9b33cc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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-10.0.1-py3-none-any.whl

Download URL edupsyadmin-10.0.1-py3-none-any.whl
Size 579.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08a5788ea46c9ffada1eede38fb717fa4ce6fbd0ab1ef2fd1c84e5cc629d1def
BLAKE2b-256 checksum
How to use checksums
572140bf60660b3f43b0292d4ef9b92faf272e3e0faf348db1caa6606bf2e48d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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

This release

10.0.1 This release

2 release files

10.0.0

2 release files

9.3.0

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