Skip to main content

A Python exam tracker for the Lernphase .It allows you to keep track of all exams you have completed and the scores you achieved.

Project description

test MIT License Code style: black Python Version from PEP 621 TOML

Examtracker

A Python exam tracker for the "Lernphase".
It allows you to keep track of all exams you have completed and the scores you achieved.

The application uses:

  • SQLAlchemy + SQLite for data storage
  • Textual as the TUI backend

Installation

python -m pip install examtracker

You might need to add the --break-system-packages flag to the install command


Usage

Once installed, you can start the program with:

examtracker

Configuration

You can change the location of the database file using a configuration file.

By default, the program searches for:

~/.config/examtracker/config.yml

Default config.yml

default configuration
database_path: "~/.config/examtracker/examtracker.db"

Environment Variables

All configuration options can also be set using environment variables.

You can even change the location where the program searches for the configuration file.

Environment variables
EXAMTRACKER_DATABASE_PATH=/tmp/test.db
EXAMTRACKER_CSS_PATH=/tmp/style.css
EXAMTRACKER_CONFIG=/tmp/config.yml

Environment variables override values defined in config.yml.


Database Schema

exams

  • id
  • name
  • max_points
  • scored_points
  • class_id

classes

  • id
  • name
  • semester_id
  • exam_grade

semester

  • id
  • name (unique)

TODO

  • Handle SQL errors
  • Initialize database
  • Configuration file support
  • Abort edit and add screens
  • Cross-platform config discovery
  • Improve CSS
  • enable Editing Exams and Semester
  • Feature where you can add the grade you got in the exams
  • Enable externaly hosted database in config
  • write Tests
  • automagicly push new pypi versions and make release upon github tag push tag push

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

examtracker-1.2.2.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

examtracker-1.2.2-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file examtracker-1.2.2.tar.gz.

File metadata

  • Download URL: examtracker-1.2.2.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for examtracker-1.2.2.tar.gz
Algorithm Hash digest
SHA256 e5ccb2db6fd99687d13c1398288896126205f8ee300991a7577702e2fe8a4b22
MD5 e6ce8dd0eed4b83e53410c3ff33769a3
BLAKE2b-256 b6c4c90497d10db7c42e07a4f187e3fcfd0f644222c316a814d9e3ad2ff560c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for examtracker-1.2.2.tar.gz:

Publisher: release.yml on Samhuw8a/Examtracker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file examtracker-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: examtracker-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for examtracker-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 640d21b2eeb563f0f861e40c3ecb8e2d1a10f2547f00b51fa1f9af25e3e47b99
MD5 7d0339f3e1fbb7f271470bcc22fe7386
BLAKE2b-256 17ae9d60766927229638edc19b96b96163df6edad1c869e9c416a6e32a34c5da

See more details on using hashes here.

Provenance

The following attestation bundles were made for examtracker-1.2.2-py3-none-any.whl:

Publisher: release.yml on Samhuw8a/Examtracker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page