Zum Hauptinhalt springen

Befehlsmenü

Zu einer Seite springen oder den Katalog durchsuchen

KI-Tools & -Skripte

pyproject-Prüfung für Python

Prüfen Sie pyproject.toml und die Konfiguration von uv, Poetry, PDM, Hatch und Pipenv vor der Installation oder Veröffentlichung: http-Indizes, Tokens in Index-URLs, deaktivierte TLS-Prüfungen, mit PyPI vermischte private Indizes, Git-Abhängigkeiten auf Branches und fehlende Lock-Dateien.

$5.00

Das bekommst du: 1 Datei · 45.34 KB · ZIP

Kaufoptionen ansehen

Produktbeschreibung

Eine einzige Zeile, index-strategy = "unsafe-best-match", neben einem privaten Index in pyproject.toml ermöglicht es jedem, der den Namen Ihres privaten Pakets mit einer höheren Version auf PyPI veröffentlicht, seinen Code auf Ihren Rechnern und in Ihrer CI installieren zu lassen (Dependency Confusion). Ein in eine Index- oder Git-URL eingefügtes Token kann jeder mit Zugriff auf das Repository lesen, und eine .python-version von 3.9 hat ihr Support-Ende überschritten. Dieser Skill findet diese und die weiteren unten aufgeführten Fehler in der Konfiguration von Python-Projekten und erklärt Ihnen, wie Sie jeden davon beheben.

Ihr Agent führt einen Scanner über pyproject.toml ([project], [dependency-groups], [build-system], [tool.uv], [tool.poetry], [tool.pdm], [tool.hatch]), uv.toml, poetry.toml, pdm.toml, hatch.toml, Pipfile, die Lock-Dateien uv.lock, poetry.lock, pdm.lock, pylock.toml und Pipfile.lock sowie .python-version aus. Er parst TOML mit Zeilennummern und folgt den eigenen Index-Regeln jedes Tools: der first-index-Strategie und den expliziten Indizes von uv, den Quellprioritäten und Quell-Pins von Poetry, include_packages und respect-source-order von PDM, den Index-Pins von Pipenv. Er behandelt ${VAR}- und {env:...}-Werte als Verweise, kennt PyPI-Mirrors und öffentliche Hersteller-Indizes wie PyTorch und sucht Lock-Dateien neben jeder pyproject.toml und in einem übergeordneten uv-Workspace. Er führt nie pip, uv, Poetry, PDM oder Hatch aus und kontaktiert nie einen Index. Er liefert BLOCK, REVIEW oder NOT FLAGGED, jeweils mit Datei, Zeile, Begründung und einem sichereren Vorgehen. Geheimnisse werden nie ausgegeben.

Was geprüft wird

BLOCK (vor der Auslieferung beheben)

  • P01: Paketindizes, find-links, Quellen, Abhängigkeits-URLs, Index-Umgebungsvariablen und URLs in Lock-Dateien über unverschlüsseltes http:// (ein Host auf diesem Rechner ist in Ordnung)
  • P02: Passwörter und Tokens in Index-, Quell- und Git-URLs (auch ein Token als Benutzername der URL) oder unter Zugangsdaten-Schlüsseln (PDM password, Poetry http-basic und pypi-token in poetry.toml, Hatch-Umgebungsvariablen mit geheimen Namen und PDM-Skript-env)
  • P03: deaktivierte TLS-Überprüfung: uv allow-insecure-host, verify_ssl = false (PDM, pdm.toml, Pipfile), Poetry certificates cert = false, PIP_TRUSTED_HOST, UV_INSECURE_HOST
  • P04: ein Index, der nicht PyPI ist und für nicht festgelegte Pakete zusammen mit PyPI durchsucht wird: uv unsafe-best-match oder unsafe-first-match mit einem nicht expliziten Index, PDM-Quellen ohne include_packages, Poetry supplemental oder mehrere primäre Quellen, PIP_EXTRA_INDEX_URL, Pipenv install_search_all_sources (das Festlegen einiger Pakete hebt das nicht auf)

REVIEW (vor dem Release prüfen)

  • P11: dieselben vermischten Setups mit einem öffentlichen Hersteller-Index (PyTorch, NVIDIA, PyG)
  • P12: Git-Abhängigkeiten auf einem Branch oder ohne ref (branch = "main", @main, @feature-1.2, Pipfile ref = "main")
  • P13: Projekte mit Abhängigkeiten, die von uv-, Poetry- oder PDM-Anwendungen verwaltet werden, und gesperrte Hatch-Umgebungen ohne Lock-Datei oder mit einer Lock-Datei, die von .gitignore ignoriert wird (eine von uv oder pip-compile kompilierte requirements-Datei zählt als Lock)
  • P14: eine .python-version, die requires-python nicht zulässt
  • P15: eine .python-version oder Pipfile-python_version jenseits ihres Support-Endes (3.9 endete am 2025-10-31, 3.10 am 2026-10-01)
  • P16: requires-python in einem Paket unterhalb von Python 4 begrenzt (<3.13, ==3.11.*, Poetry ~3.10)
  • P17: veraltete oder entfernte Einstellungen: uv tool.uv.dev-dependencies sowie index-url / extra-index-url auf oberster Ebene, Poetry [tool.poetry.dev-dependencies] und die Quellprioritäten default / secondary

Was enthalten ist

  • Der Scanner (Python 3.9+, nur Standardbibliothek)
  • Ein Regelleitfaden mit Begründung, sichererem Vorgehen und offizieller Quelle für jede Regel
  • Ein riskantes und ein sicheres Beispiel (ein uv-API-Projekt und ein Poetry-Worker) sowie der echte Bericht, den der Scanner für das riskante erzeugt

Einschränkungen

Er liest jede Datei so, wie sie geschrieben ist. Benutzerkonfiguration (~/.config/uv/uv.toml, config.toml und auth.toml von Poetry, pip.conf), Umgebungsvariablen und CI-Einstellungen werden nicht gelesen, und requirements.txt, setup.py und setup.cfg werden nicht geprüft. Eine Index-Strategie und die Indizes, für die sie gilt, werden innerhalb einer Datei bewertet. Ob ein Index private Paketnamen enthalten kann, wird anhand seines Hosts entschieden: PyPI, bekannte PyPI-Mirrors und bekannte öffentliche Hersteller-Indizes werden erkannt, und jeder andere Host gilt als möglicherweise privat, daher wird das Beispiel aus der PDM-Dokumentation für eine private Quelle ohne include_packages absichtlich gemeldet (PDM betrachtet standardmäßig alle Quellen als gleichwertig). Die Inhalte von Lock-Dateien werden nicht mit pyproject.toml verglichen. NOT FLAGGED ist keine Garantie.

Inhalt

Eine ZIP-Datei mit 19 Dateien: SKILL.md, der Scanner in scripts/ (6 Python-Dateien), references/rules.md (jede Regel mit Begründung und sichererem Vorgehen) und examples/ (10 Beispieldateien plus report.md, die echte Scanner-Ausgabe für das riskante Beispiel).

Verwendung: Dies ist ein Agent-Skill: ein Ordner mit einer SKILL.md-Datei und Python-Skripten, die ein KI-Coding-Agent wie Claude Code, Cursor oder Codex CLI ausführen kann. Entpacken Sie ihn in den Skills-Ordner Ihres Agenten (für Claude Code: ~/.claude/skills/) und bitten Sie dann Ihren Agenten, Ihr Projekt zu prüfen. Die Skripte laufen auch eigenständig mit Python 3.9 oder neuer, ohne dass etwas installiert werden muss. Sie lesen nur Ihre Dateien: kein Netzwerkzugriff, und nichts wird irgendwohin gesendet.

Das bekommst du

1 Datei · 45.34 KB

  • python-pyproject-check-1.0.0.zipZIP · 45.34 KB
LizenzKommerzielle Nutzung erlaubt
PaketprüfungBestanden

Getly hat die hochgeladenen Dateien geöffnet und nichts gefunden, was das Öffnen verhindern würde. Das ist kein Virenscan und keine Qualitätsbewertung.

Veröffentlicht12. Nov. 2026
Dateigröße45.34 KB
DateiformatZIP
Versionv1.0

Tags

pythonuvpoetrypyprojectsupply-chainai agent skill
R
RR HH

Häufige Fragen

Erhalte ich sofort Zugriff?

Ja. Dies ist ein digitales Produkt - du kannst es direkt nach dem Kauf aus deiner Bibliothek herunterladen.

Darf ich es für kommerzielle Projekte nutzen?

Ja. Kommerzielle Nutzung ist erlaubt: im eigenen Business und in dem, was du verkaufst. Die Datei selbst darfst du nicht weiterverkaufen oder verbreiten.

Wie sind die Rückerstattungsbedingungen?

Du kannst innerhalb von 30 Tagen eine Rückerstattung anfordern. Stimmt etwas nicht, fordere sie bei deiner Bestellung an - das Getly-Team prüft sie.

Welche Dateiformate und -größen erhalte ich?

Du lädst 1 Datei herunter - ZIP - insgesamt 45.34 KB.

Erhalte ich kostenlose Updates?

Ja - wenn der Verkäufer eine neue Version veröffentlicht, kannst du die aktuellen Dateien kostenlos erneut aus deiner Bibliothek herunterladen. Aktuelle Änderungen findest du im Changelog.

Preis

$5.00