ads2_2022/code/python
raj_mathe 8e59bc941f master > master: code py - scripts, doc-building
- `just build-documentation` vom `just build` Befehl jetzt getrennt
- wird nur mit `just dist` Befehl ausgeführt
2022-06-12 10:27:57 +02:00
..
assets master > master: code py - config schema aktualisiert 2022-06-11 14:01:24 +02:00
dist master > master: code py - models + config implementiert 2022-06-10 11:51:05 +02:00
docs dev > master: code py - documentation erzeugt 2022-06-11 16:08:08 +02:00
models master > master: code py - schemata überarbeitet 2022-06-11 16:07:23 +02:00
src master > master: code py - minor 2022-06-11 14:07:00 +02:00
tests master > master: code py - unit tests aktualisiert 2022-06-11 14:02:09 +02:00
.coveragerc master > master: code py - unit tests aktualisiert 2022-06-11 14:02:09 +02:00
.env master > master: src - py 2022-03-30 18:00:11 +02:00
.gitignore dev > master: code py - documentation erzeugt 2022-06-11 16:08:08 +02:00
justfile master > master: code py - scripts, doc-building 2022-06-12 10:27:57 +02:00
LICENSE master > master: src - py 2022-03-30 18:00:11 +02:00
main.py master > master: code py - minor 2022-06-11 14:07:00 +02:00
pyproject.toml master > master: code py - setup 2022-06-09 18:12:24 +02:00
README.md master > master: code-py - refactoring von config/models 2022-06-10 12:08:31 +02:00
requirements.txt master > master: code py - documentation generation 2022-06-11 16:07:09 +02:00

ADS2 - Implementierung in Python

Im Ordner ./src/* findet Module mit Datenstrukturen und Algorithmen.

Im Ordner ./tests/* findet man unit tests, die die verschiedenen Datenstrukturen und Algorithmen mit Testfälle belasten. Man kann auch direkt im Code von ./src/main.rs aus die Methoden mit Daten ausprobieren.

Voraussetzungen

  1. Der Python-Compiler ^3.10.* wird benötigt.
  2. Es ist auch empfehlenswert, justfile zu installieren (siehe https://github.com/casey/just#installation).

Build -> Test -> Run

In einem IDE in dem Repo zu diesem Ordner navigieren.
Eine bash-Konsole aufmachen und folgende Befehle ausführen:

Wer das justfile-Tool hat:

# Zeige alle Befehle:
just
# Zur Installation der Requirements (nur nach Änderungen):
just build;
# Zur Ausführung der unit tests:
just tests;
# Zur Ausführung des Programms
just run;
# Zur Bereinigung aller Artefakte
just clean;

Wer das justfile-Tool hat:

# Zur Installation der Requirements (nur nach Änderungen):
python3 -m pip install -r requirements.txt;
# Zur Ausführung der unit tests:
python3 -m pytest tests --cache-clear --verbose -k test_;
# Zur Ausführung des Programms:
python3 main.py

Auf Windows verwendet man py -3 od. py -310 statt python3.

Man kann auch mit einem guten Editor/IDE die Tests einzeln ausführen.

Testfälle durch Config-Datei

Statt den Code immer anfassen zu müssen, kann man Fälle für die verschiedenen Algorithmen in der ./assets/commands.yaml erfassen und (mittels just run) das Programm ausführen.

Weitere globale Einstellungen (z. B. über Verbosity, Penalty-Konstanten, usw.) kann man in ./assets/config.yaml einstellen.