sylvain bb3bc761e3 test(collector): add filtering optimization and edge case tests
- test_filtered_repos_have_no_api_calls: prouve que get_latest_release et
  get_milestones ne sont pas appelés pour les repos exclus par le filtre include
- test_collect_all_include_empty_list: documente le contrat implicite où
  include=[] est équivalent à include=None (tous les repos inclus)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 04:40:40 +01:00
2026-03-10 18:21:33 +01:00
2026-03-10 18:21:33 +01:00

gitea-dashboard

Dashboard CLI affichant en une commande l'état de tous les repos d'une instance Gitea : issues ouvertes, dernières releases et progression des milestones.

Prérequis

  • Python >= 3.10
  • Accès à une instance Gitea avec un token API

Installation

pip install -e .

Configuration

Le dashboard se configure via deux variables d'environnement :

Variable Description Défaut
GITEA_URL URL de l'instance Gitea http://192.168.0.106:3000
GITEA_TOKEN Token API Gitea (requis)

Pour créer un token : Gitea > Settings > Applications > Generate Token.

Exemple de configuration dans votre shell :

export GITEA_URL=https://gitea.tsmse.fr
# Définir GITEA_TOKEN avec la valeur obtenue depuis Gitea > Settings > Applications

Usage

gitea-dashboard
# ou
python -m gitea_dashboard

Exemple de sortie

                  Gitea Dashboard
┏━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓
┃ Repo            ┃ Issues ┃ Release              ┃
┡━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩
│ mon-projet      │      3 │ v1.2.0 (il y a 2j)   │
│ autre-repo      │      0 │ —                    │
└─────────────────┴────────┴──────────────────────┘

Milestones
  mon-projet / v2.0 : 3/5 (60%)

Développement

# Installer avec les dépendances de développement
pip install -e ".[dev]"

# Lancer les tests
pytest

# Vérifier le style
ruff check src/ tests/

Licence

Usage personnel.

Description
CLI Python dashboard for Gitea repos status (issues, releases, milestones)
Readme 140 KiB
2026-03-11 04:46:41 +01:00
Languages
Python 100%