Für das Ausprobieren der (UI-)Entwicklungs mit Python und QT habe ich auf Github ein Projekt gestartet, um diverse Konzepte auszuprobieren. Ich habe mich dabei für die Implementierung eines S3-Clients entschlossen. Die folgenden Grundfunktionen werden dabei unterstützt:
- Abruf Bucket-Inhalt
- Download von Dateien
- Upload von Dateien
- Löschen von Dateien
Zusätzlich sollen neben den funktionalen Anforderungen, welche über die UI angeboten werden, natürlich auch Python-Basics evaluiert werden:
- Logging
- Threading
- Module
- Dokumentation (docstring, pdoc)
- Unit-Tests
- ...
Einstiegspunkt ist die Datei minioclient.py, welche die Dialoge initialisiert. Diese kann entweder direkt als Python-Skript aufgerufen werden, oder man baut sich ein Binary. Dieses kann man mit dem Skript build.sh erstellen. Dafür notwendig ist pyinstaller (siehe auch requirements.txt).
Das Projekt befindet sich hier: https://github.com/ronnyfriedland/minioclient