Aller au contenu principal

Menu de commandes

Accédez à une page ou recherchez dans le catalogue

Outils et scripts IA

Vérification de pyproject Python

Vérifiez pyproject.toml et la configuration uv, Poetry, PDM, Hatch et Pipenv avant d'installer ou de publier : index en http, jetons dans les URL d'index, vérifications TLS désactivées, index privés fusionnés avec PyPI, dépendances git sur une branche et fichiers de verrouillage manquants.

$5.00

Ce que vous recevez : 1 fichier · 45.34 KB · ZIP

Voir les options d'achat

Description du produit

Une seule ligne, index-strategy = "unsafe-best-match", à côté d'un index privé dans pyproject.toml permet à quiconque publie le nom de votre paquet privé sur PyPI avec une version supérieure de faire installer son code sur vos machines et dans votre CI (confusion de dépendances). Un jeton collé dans une URL d'index ou git est lisible par toute personne ayant accès au dépôt, et un .python-version en 3.9 a dépassé sa fin de vie. Ce skill détecte ces erreurs et les autres erreurs de configuration de projet Python ci-dessous, et vous indique comment corriger chacune d'elles.

Votre agent exécute un scanner sur pyproject.toml ([project], [dependency-groups], [build-system], [tool.uv], [tool.poetry], [tool.pdm], [tool.hatch]), uv.toml, poetry.toml, pdm.toml, hatch.toml, Pipfile, les fichiers de verrouillage uv.lock, poetry.lock, pdm.lock, pylock.toml et Pipfile.lock, ainsi que .python-version. Il analyse le TOML avec les numéros de ligne et suit les règles d'index propres à chaque outil : la stratégie first-index et les index explicites d'uv, les priorités de sources et les sources fixées de Poetry, include_packages et respect-source-order de PDM, les index fixés de Pipenv. Il traite les valeurs ${VAR} et {env:...} comme des références, connaît les miroirs PyPI et les index publics d'éditeurs comme PyTorch, et cherche les fichiers de verrouillage à côté de chaque pyproject.toml et dans un workspace uv parent. Il n'exécute jamais pip, uv, Poetry, PDM ou Hatch et ne contacte jamais aucun index. Il renvoie BLOCK, REVIEW ou NOT FLAGGED, avec le fichier, la ligne, la raison et une approche plus sûre. Les secrets ne sont jamais affichés.

Ce qui est vérifié

BLOCK (à corriger avant la mise en production)

  • P01 : index de paquets, find-links, sources, URL de dépendances, variables d'environnement d'index et URL de fichiers de verrouillage en http:// simple (un hôte sur cette machine est accepté)
  • P02 : mots de passe et jetons dans les URL d'index, de source et git (y compris un jeton utilisé comme nom d'utilisateur de l'URL) ou sous des clés d'identification (password de PDM, http-basic et pypi-token de Poetry dans poetry.toml, variables d'environnement Hatch au nom de secret et env des scripts PDM)
  • P03 : vérification TLS désactivée : allow-insecure-host d'uv, verify_ssl = false (PDM, pdm.toml, Pipfile), certificates cert = false de Poetry, PIP_TRUSTED_HOST, UV_INSECURE_HOST
  • P04 : un index autre que PyPI consulté en même temps que PyPI pour des paquets non fixés : unsafe-best-match ou unsafe-first-match d'uv avec un index non explicite, sources PDM sans include_packages, source supplemental ou plusieurs sources primary dans Poetry, PIP_EXTRA_INDEX_URL, install_search_all_sources de Pipenv (fixer quelques paquets ne suffit pas à lever l'alerte)

REVIEW (à vérifier avant la publication)

  • P11 : les mêmes configurations fusionnées avec un index public d'éditeur (PyTorch, NVIDIA, PyG)
  • P12 : dépendances git sur une branche ou sans référence (branch = "main", @main, @feature-1.2, ref = "main" dans Pipfile)
  • P13 : projets dont les dépendances sont gérées par des applications uv, Poetry ou PDM et environnements Hatch verrouillés sans fichier de verrouillage, ou fichier de verrouillage ignoré par .gitignore (un fichier requirements compilé par uv ou pip-compile compte comme fichier de verrouillage)
  • P14 : un .python-version que requires-python n'autorise pas
  • P15 : un .python-version ou un python_version de Pipfile ayant dépassé sa fin de vie (3.9 a pris fin le 2025-10-31, 3.10 le 2026-10-01)
  • P16 : requires-python plafonné en dessous de Python 4 dans un paquet (<3.13, ==3.11.*, ~3.10 dans Poetry)
  • P17 : réglages obsolètes ou supprimés : tool.uv.dev-dependencies d'uv et index-url / extra-index-url au niveau supérieur, [tool.poetry.dev-dependencies] de Poetry et les priorités de source default / secondary

Contenu fourni

  • Le scanner (Python 3.9+, bibliothèque standard uniquement)
  • Un guide des règles avec la raison, l'approche plus sûre et la source officielle pour chaque règle
  • Un exemple risqué et un exemple sûr (un projet d'API uv et un worker Poetry), ainsi que le vrai rapport produit par le scanner sur l'exemple risqué

Limites

Il lit chaque fichier tel qu'il est écrit. La configuration au niveau utilisateur (~/.config/uv/uv.toml, config.toml et auth.toml de Poetry, pip.conf), les variables d'environnement et les réglages de CI ne sont pas lus, et requirements.txt, setup.py et setup.cfg ne sont pas vérifiés. Une stratégie d'index et les index auxquels elle s'applique sont évalués au sein d'un seul fichier. La possibilité qu'un index contienne des noms de paquets privés est déterminée d'après son hôte : PyPI, les miroirs PyPI connus et les index publics d'éditeurs connus sont reconnus, et tout autre hôte est considéré comme potentiellement privé, si bien que l'exemple de la documentation de PDM montrant une source privée sans include_packages est signalé volontairement (PDM considère toutes les sources comme égales par défaut). Le contenu des fichiers de verrouillage n'est pas comparé à pyproject.toml. NOT FLAGGED n'est pas une garantie.

Contenu de l'archive

Un fichier ZIP de 19 fichiers : SKILL.md, le scanner dans scripts/ (6 fichiers Python), references/rules.md (chaque règle avec sa raison et son approche plus sûre) et examples/ (10 fichiers d'exemple plus report.md, la vraie sortie du scanner sur l'exemple risqué).

Utilisation : Il s'agit d'un skill d'agent : un dossier contenant un fichier SKILL.md et des scripts Python qu'un agent de programmation IA comme Claude Code, Cursor ou Codex CLI peut exécuter. Décompressez-le dans le dossier des skills de votre agent (pour Claude Code : ~/.claude/skills/), puis demandez à votre agent de vérifier votre projet. Les scripts fonctionnent aussi seuls avec Python 3.9 ou plus récent, sans rien à installer. Ils se contentent de lire vos fichiers : aucun accès réseau, et rien n'est envoyé nulle part.

Ce que vous recevez

1 fichier · 45.34 KB

  • python-pyproject-check-1.0.0.zipZIP · 45.34 KB
LicenceUsage commercial autorisé
Vérification du paquetRéussie

Getly a ouvert les fichiers envoyés et n'a rien trouvé qui empêche leur ouverture. Ce n'est ni une analyse antivirus ni une note de qualité.

Publié12 nov. 2026
Taille du fichier45.34 KB
Format du fichierZIP
Versionv1.0

Tags

pythonuvpoetrypyprojectsupply-chainai agent skill
R
RR HH

Questions fréquentes

Ai-je accès au produit immédiatement ?

Oui. C'est un produit numérique : vous pouvez le télécharger juste après le paiement, directement depuis votre bibliothèque.

Puis-je l'utiliser pour des projets commerciaux ?

Oui. L'usage commercial est autorisé : utilisez-le dans votre propre activité et dans ce que vous vendez. Vous ne pouvez pas revendre ni redistribuer le fichier lui-même.

Quelle est votre politique de remboursement ?

Vous pouvez demander un remboursement dans un délai de 30 jours. Si quelque chose ne va pas, demandez-le depuis votre commande et l'équipe Getly l'examine.

Quels formats et quelles tailles de fichier vais-je recevoir ?

Vous téléchargerez 1 fichier - ZIP - 45.34 KB au total.

Ai-je droit aux mises à jour gratuites ?

Oui : quand le vendeur publie une nouvelle version, vous pouvez retélécharger les derniers fichiers depuis votre bibliothèque sans frais. Consultez le journal des modifications pour les dernières mises à jour.

Prix

$5.00