No description
| flatpak | ||
| parcel_desktop | ||
| resources | ||
| .gitignore | ||
| README.md | ||
| requirements.txt | ||
Parcel Desktop
Application desktop Python + PyQt6 qui reproduit les fonctions principales de l'application Parcel en utilisant l'API publique.
Fonctionnalités
- Liste des livraisons actives ou récentes.
- Détails d'une livraison avec historique des événements.
- Ajout de nouvelles livraisons.
- Choix du transporteur dans la liste officielle (
supported_carriers.json). - Rafraîchissement automatique paramétrable.
- Stockage sécurisé de la clé API via le trousseau système.
- Interface moderne avec style QSS.
Prérequis
- Environnement Conda
pyqt(Python 3.14, PyQt6, requests, keyring). - Une clé API Parcel disponible sur web.parcelapp.net.
Installation
conda install -n pyqt -c conda-forge pyqt6 requests keyring -y
Lancement
/home/jeremy/miniforge3/envs/pyqt/bin/python -m parcel_desktop.main
Ou, depuis le répertoire du projet :
/home/jeremy/miniforge3/envs/pyqt/bin/python parcel_desktop/main.py
Architecture
parcel_desktop/
├── api_client.py # Client HTTP + modèles de livraison
├── models.py # Configuration persistante
├── main.py # Point d'entrée
└── widgets/
├── main_window.py # Fenêtre principale
├── delivery_list.py # Liste scrollable
├── delivery_card.py # Carte résumée
├── delivery_detail_dialog.py
├── add_delivery_dialog.py
├── settings_dialog.py
└── status_badge.py
resources/
└── style.qss # Feuille de style
API Parcel utilisée
GET /external/deliveries/?filter_mode={active|recent}— liste des livraisons.POST /external/add-delivery/— ajout d'une livraison.GET /external/supported_carriers.json— transporteurs supportés.
L'autorisation se fait via le header api-key.
Limites connues
- L'API est réservée aux utilisateurs premium de Parcel.
- Les livraisons ajoutées via l'API peuvent afficher "Aucune donnée" jusqu'à la première mise à jour côté serveur.
- Rate limit : 20 requêtes/heure pour les livraisons, 20 requêtes/jour pour l'ajout.