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

Built distribution (wheel)

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

Total release size: 2.9 MB

Release files / edupsyadmin-10.0.0.tar.gz

Download URL edupsyadmin-10.0.0.tar.gz
Size 2.3 MB
Tags Source
SHA-256 checksum
How to use checksums
0ad4f5a87bf50c27c4c6d482254568b3222cf3d8f448c33dd8486962ec625eba
BLAKE2b-256 checksum
How to use checksums
1de80b5963668f9406a72fc54efb2114f6b69f118f22ab43d5c5d0a2c3193aaa
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.0-py3-none-any.whl

Download URL edupsyadmin-10.0.0-py3-none-any.whl
Size 579.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60f05e2a157a9317d6e3b889fef18c2c296efc9eeb6db77cecdcc7c125e467cc
BLAKE2b-256 checksum
How to use checksums
48667663f7fcb2477cf5dd4928755f183ee7bfbee2fe4a058fb739d93472e120
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

10.0.1

2 release files

This release

10.0.0 This release

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