7 dépôts
Tools specifically designed to reformat Python source code to adhere to defined style guides.
Distinct from Python: None of the candidates focus on the actual rewriting of Python source for style, rather than linting or standards
Explore 7 awesome GitHub repositories matching programming languages & runtimes · Python Code Formatters. Refine with filters or upvote what's useful.
YAPF est un formateur de code Python et un outil de conformité de style. Il fonctionne comme un reformateur basé sur AST qui utilise des arbres de syntaxe concrets pour assurer la cohérence structurelle et une présentation visuelle uniforme à travers les fichiers sources. Le moteur utilise un optimiseur de mise en page basé sur des pénalités pour déterminer les meilleurs sauts de ligne en calculant des coûts numériques pour différents choix de formatage. Il emploie un processeur de code multi-processus pour distribuer le formatage de plusieurs fichiers à travers plusieurs cœurs de CPU. L'outil couvre le reformatage du code source par des modifications de fichiers sur place, l'analyse des différences et le traitement de fragments de code partiels. Il inclut un système de configuration basé sur des règles pour gérer les préréglages de style, les règles de mise en page et les paramètres au niveau du projet. Les capacités d'intégration incluent la vérification de la conformité au style pour les pipelines d'intégration continue, l'automatisation des hooks git et la fonctionnalité de formatage à la sauvegarde basée sur l'éditeur.
Reformats Python source code to adhere to defined style guides for consistent visual presentation.
Spotless est un orchestrateur de formatage multi-langage et un plugin Gradle qui automatise le style de code sur divers langages de programmation au sein d'un pipeline de build unique. Il fonctionne comme un coordinateur pour plusieurs formateurs tiers, un outil de linting de style de code et un système pour insérer et mettre à jour des en-têtes de licence standardisés. Le projet se distingue par une application du style intégrée à git, utilisant des hooks de pré-push et des références git pour appliquer le formatage uniquement aux fichiers ou lignes modifiés. Il prend en charge des configurations de build partagées, permettant aux règles de formatage d'être distribuées et chargées sur plusieurs projets via des artefacts distants pour maintenir une source unique de vérité. L'outil couvre un large éventail de capacités, notamment la transformation de texte de code source via des expressions régulières et des patchs JSON, la gestion des imports et la standardisation des espaces blancs. Il s'intègre avec un large éventail de binaires et d'outils externes pour des langages tels que Java, Python, Kotlin, C++, Go et TypeScript. Une fonctionnalité supplémentaire inclut la vérification du formatage pour assurer l'idempotence et l'optimisation incrémentale pour ignorer les fichiers inchangés.
Applies the Black formatter to Python source files using a specified executable.
Ce projet est une collection complète de matériel pédagogique de programmation Python, y compris des tutoriels, des exercices et des exemples de code organisés. Il sert de programme d'apprentissage et de boîte à outils d'ingénierie logicielle, utilisant des Jupyter Notebooks pour combiner du code exécutable avec un texte éducatif descriptif. Le dépôt fournit des guides d'implémentation pratiques pour construire des applications de grand modèle de langage, telles que des systèmes de génération augmentée par récupération, des agents IA avec état et des flux de travail d'apprentissage automatique. Il se distingue en offrant une approche structurée des flux de travail de codage agentique, couvrant la distillation de la fenêtre de contexte, le routage de modèle agnostique au fournisseur et les sorties structurées imposées par schéma. Le matériel couvre un large éventail de capacités d'ingénierie logicielle, notamment la programmation asynchrone avec des files d'attente de tâches distribuées, le développement d'applications web avec des API REST et les flux de travail d'analyse de données. Il inclut également des ressources pour maîtriser la conception orientée objet, implémenter des pipelines CI/CD et appliquer des normes professionnelles de linting et de formatage.
Includes guides and tools for reformating Python source code to adhere to PEP 8 style guidelines.
autopep8 est un styler et formateur de code statique Python conçu pour réécrire automatiquement le code source afin de se conformer au guide de style PEP 8. Il fonctionne comme un nettoyeur de code récursif qui identifie et corrige les irrégularités d'indentation, d'espacement et de syntaxe à travers des projets entiers. L'outil effectue un refactoring structurel en utilisant des transformations d'arbre de syntaxe abstraite pour exécuter des changements non liés aux espaces, tels que le raccourcissement des lignes longues et l'amélioration des tests d'identité. Il inclut un mode de refactoring agressif pour les violations de style complexes et prend en charge le formatage sélectif via des marqueurs inline pour désactiver les changements pour des blocs de code spécifiques. Les capacités incluent le filtrage de corrections basé sur des règles pour cibler ou ignorer des codes d'erreur spécifiques, le formatage par plage de lignes et la génération de rapports de différences de style. Le système peut traiter des fichiers via une interface en ligne de commande avec parcours récursif de répertoires et modification de fichiers sur place, ou être intégré par programmation via une API. Les préférences de formatage et les ensembles de règles peuvent être gérés via des fichiers de configuration globaux ou locaux.
Automatically reformats Python source code to comply with the PEP 8 style guide.
Proselint est un linter de prose et un analyseur de texte basé sur des règles, conçu pour identifier les erreurs stylistiques, les clichés et le jargon dans les textes écrits. Il scanne les documents par rapport à un registre organisé de règles linguistiques et typographiques afin de maintenir des normes éditoriales professionnelles et d'améliorer la qualité de l'écriture. Le projet fonctionne comme un processeur de texte en ligne de commande, une bibliothèque d'analyse programmable et un hook git pre-commit. Son architecture modulaire permet d'intégrer le moteur principal dans d'autres applications, de l'exposer via une API REST ou de l'intégrer dans des éditeurs de texte. L'outil prend en charge le parcours récursif de répertoires pour l'analyse par lots et accepte du texte via l'entrée standard pour une utilisation dans des pipelines en ligne de commande. Il offre des options de configuration pour activer ou désactiver des vérifications linguistiques spécifiques et peut exporter les résultats de diagnostic au format JSON structuré.
Recursively processes folder hierarchies to identify stylistic errors across an entire project.
doctoc est un générateur de table des matières markdown et un processeur de fichiers conçu pour créer et mettre à jour automatiquement des listes liées de titres au sein de documents markdown. Il fonctionne comme un outil de documentation de dépôt Git qui scanne les répertoires locaux pour garantir que la navigation reste cohérente à travers une collection de fichiers. L'outil dispose d'un générateur d'ancres compatible avec GitHub qui formate les liens de titres pour correspondre aux exigences spécifiques de GitHub et des plateformes d'hébergement similaires. Il gère les mises à jour en localisant les commentaires de marqueurs pour remplacer les tables des matières existantes sans écraser d'autres contenus de document. Le projet couvre le traitement récursif de répertoires, ce qui lui permet de scanner des dossiers imbriqués et d'appliquer des mises à jour à tous les fichiers compatibles. Il inclut également le filtrage de contenu et le contrôle d'entrée pour exclure des titres ou des fichiers spécifiques en fonction des niveaux d'imbrication ou des balises de métadonnées. Un utilitaire de validation de cohérence permet à l'outil de vérifier si les fichiers sont obsolètes sans les modifier, facilitant l'intégration dans des flux de travail de documentation automatisés.
Traverses folder hierarchies to apply table of contents updates across entire project directories.
This project is a Python library and command-line tool designed to convert Markdown text and files into structured HTML fragments. It functions as a Markdown-to-HTML converter and parser that transforms piped text or source files into web-ready documents. The project is an extensible text processor featuring a pluggable API for defining custom inline and block syntax. This modular framework allows for the registration of specialized syntax extensions, such as tables and footnotes, and provides a system for managing runtime configuration settings. The conversion process covers multilingual te
Ships a utility to read Markdown from files or standard input and write the resulting HTML to a destination.