No description
Find a file
2026-07-31 16:51:06 +02:00
flatpak Initial commit: Parcel Desktop PyQt app + Flatpak packaging 2026-07-31 16:51:06 +02:00
parcel_desktop Initial commit: Parcel Desktop PyQt app + Flatpak packaging 2026-07-31 16:51:06 +02:00
resources Initial commit: Parcel Desktop PyQt app + Flatpak packaging 2026-07-31 16:51:06 +02:00
.gitignore Initial commit: Parcel Desktop PyQt app + Flatpak packaging 2026-07-31 16:51:06 +02:00
README.md Initial commit: Parcel Desktop PyQt app + Flatpak packaging 2026-07-31 16:51:06 +02:00
requirements.txt Initial commit: Parcel Desktop PyQt app + Flatpak packaging 2026-07-31 16:51:06 +02:00

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.