24 dépôts
Tools specifically for building and preparing Python projects for publication to registries.
Distinct from Distribution and Packaging: Specializes the general distribution and packaging process for the Python ecosystem and its specific formats.
Explore 24 awesome GitHub repositories matching devops & infrastructure · Python Distribution Packaging. Refine with filters or upvote what's useful.
Poetry is a Python build tool, dependency manager, and project orchestrator. It provides a unified workflow for managing the full lifecycle of a project, from initial environment setup to the final package release. The system centralizes project metadata and dependency specifications in a single configuration file, replacing legacy formats. It utilizes a deterministic dependency resolver to calculate compatible package versions and records the exact state of the environment in a lock file to ensure consistency across different machines. The tool handles the orchestration of isolated virtual
Builds software projects into modern, unified Python distributable formats for registry publishing.
Rye is a comprehensive Python toolchain manager, package manager, and virtual environment orchestrator. It provides a unified system for installing Python runtimes, resolving dependencies, and coordinating isolated environments across different projects. The project distinguishes itself through workspace management capabilities that coordinate dependencies and builds across multiple libraries within a single multi-package project structure. It further enables the global installation of Python tools into sandboxed environments, making them accessible system-wide without manual environment acti
Handles the building and preparation of Python projects specifically for publication to package registries.
PyInstaller is a cross-platform binary packager and application freezer that bundles Python scripts and their dependencies into standalone executables. It allows programs to be distributed and run on target operating systems without requiring a local installation of the Python interpreter. The tool functions as a standalone executable bundler, packaging the application with all necessary modules and libraries into a single file or folder. It includes integration for digital binary signing to satisfy operating system security requirements for distributed software. The system utilizes static a
Packages Python programs into standalone executables for distribution without requiring a local interpreter.
fpm is a multiplatform package builder and converter used to create software packages for various Linux distribution formats from a single unified source. It functions as a Linux distribution packager and a cross-format converter, transforming local directories, existing packages, or language-specific modules into platform-native formats such as DEB and RPM. The tool acts as a language-specific package wrapper, bundling modules from Node.js, Python, Ruby, and Perl into system packages. It can also generate packages that automatically configure system services for targets like systemd. The pr
Builds packages from Python sources by identifying metadata and dependencies via pip or project configuration files.
This project is a performance measurement framework and microbenchmarking library designed for C++ and Python. It provides a toolset for measuring the execution time of small code fragments using high-resolution timers, calculating statistical aggregates, and analyzing asymptotic complexity. The framework distinguishes itself through specialized capabilities for multithreaded performance testing, using synchronized execution to measure parallel throughput. It includes mechanisms to prevent compiler optimizations from removing benchmarked code and supports complex parameterization via Cartesia
Includes a build system that compiles native extensions and packages them for distribution as Python bindings.
PDM est un gestionnaire de paquets Python, un résolveur de dépendances et un outil de build conçu pour créer des environnements reproductibles. Il fonctionne comme un gestionnaire de runtime qui installe et bascule entre différentes versions de l'interpréteur Python en utilisant des builds autonomes, tout en gérant des environnements virtuels isolés pour prévenir les conflits de version entre les projets. L'outil se distingue par l'utilisation de fichiers de verrouillage (lockfiles) multiplateformes et une architecture d'extension basée sur des plugins, permettant aux utilisateurs d'ajouter de nouvelles capacités via des distributions externes. Il fournit un système centralisé de mise en cache des paquets et un pipeline d'installation parallèle pour réduire le temps requis pour la configuration de l'environnement et la résolution des dépendances. Au-delà de la gestion de base, PDM couvre l'orchestration de projet via des définitions de scripts personnalisés et des raccourcis en ligne de commande. Il gère également le cycle de vie complet de la distribution, de la génération d'archives de projet standardisées à la publication de paquets vers des dépôts distants. L'outil assure l'interopérabilité en utilisant des formats de métadonnées standardisés et fournit des utilitaires pour importer et convertir les configurations de projet provenant d'autres gestionnaires.
Builds and prepares Python projects into standardized distribution archives for publication to registries.
Hatch is a unified tool for managing Python environments, building packages, scaffolding projects, and installing Python versions. It provides a single command-line interface for automating common development workflows, including running scripts, tests, and static analysis with automatic dependency resolution and configuration. The tool manages project settings, dependencies, and build instructions through a declarative TOML configuration file, ensuring reproducibility across environments. It creates and manages isolated virtual environments across all major shells, installs and manages multi
Builds reproducible Python packages and uploads them to PyPI or other package indices.
Provides tools and guidelines for distributing Python packages with CUDA version compatibility.
PyOxidizer est un empaqueteur d'applications Python et un embedder d'interpréteur conçu pour compiler le code Python et ses dépendances en un seul binaire exécutable autonome. Il fonctionne comme un outil de distribution qui permet aux applications de s'exécuter sur des machines cibles sans interpréteur pré-installé. Le projet sert de pont entre Rust et Python, fournissant un framework pour intégrer les deux langages afin de créer des bibliothèques liables ou de remplacer progressivement la logique. Il facilite l'intégration d'un runtime Python dans des applications plus grandes pour exécuter des scripts ou fournir une logique basée sur Python. L'ensemble d'outils couvre l'empaquetage d'applications Python, les workflows de distribution et l'intégration de runtimes Python embarqués.
Packages and delivers Python applications as standalone binaries to simplify installation and deployment.
Ce projet est un framework d'alignement et une suite de pipelines pour l'entraînement de modèles de langage via le fine-tuning supervisé et l'optimisation par préférence. Il fournit des outils pour exécuter un entraînement distribué à grande échelle sur plusieurs GPU et nœuds de calcul, ainsi qu'un système pour mesurer l'utilité du modèle et la qualité des dialogues via des benchmarks mono-tour et multi-tours. Le framework inclut des outils spécialisés pour l'optimisation directe par préférence (DPO) afin d'affiner le comportement du modèle en utilisant des données appariées sans nécessiter de modèle de récompense séparé. Il prend également en charge l'alignement par IA constitutionnelle et l'entraînement de modèles de récompense pour classer et noter les réponses selon des critères de préférence. Le projet couvre des capacités plus larges pour le mélange de jeux de données, le fine-tuning efficace en paramètres via l'adaptation de bas rang (LoRA), et l'optimisation par échantillonnage par rejet. Il gère le cycle de vie de l'entraînement via des recettes basées sur la configuration et fournit des systèmes pour diffuser des métriques de performance en temps réel vers des tableaux de bord externes.
Provides tools for building distribution wheels and source archives for Python package registries.
ZenML is an extensible machine learning orchestration framework designed to manage the end-to-end lifecycle of data pipelines and AI agent workflows. It functions as a durable orchestrator that executes machine learning tasks as directed acyclic graphs, ensuring that every step is containerized for consistent performance across local, cloud, and hybrid infrastructure. By decoupling pipeline code from underlying compute and storage backends, the platform allows developers to define infrastructure-agnostic stacks that remain portable across diverse environments. The project distinguishes itself
Packages shared Python code as private wheels to facilitate versioned distribution across internal projects.
ZenML is an orchestration platform designed for building, deploying, and monitoring reproducible machine learning pipelines and agentic workflows. It provides a unified framework that manages the entire lifecycle of machine learning assets, from data processing and model training to the deployment of persistent inference services. By decoupling pipeline logic from underlying compute and storage, the platform enables teams to transition workflows seamlessly from local development environments to production-grade cloud infrastructure. The platform distinguishes itself through a service-oriented
Packages shared Python logic into private wheels to enable versioned, internal distribution of common utilities across team projects.
Maturin is a build tool that compiles Rust crates into Python wheel packages, supporting multiple binding systems such as PyO3, CFFI, and UniFFI to create native extension modules. It manages the full build pipeline from Rust compilation to wheel assembly, including cross-compilation for different operating systems and architectures without requiring native hardware. The tool integrates development-mode installation with automatic rebuilds: when a Python import hook detects source changes, it triggers recompilation before the module loads. Editable installs link the compiled module into site-
Uploads built Python packages to the Python Package Index for public distribution.
Ce projet est un framework complet pour la programmation lettrée qui permet aux développeurs de construire des bibliothèques Python prêtes pour la production entièrement au sein de Jupyter Notebooks. En traitant les notebooks comme la source de vérité principale, il intègre le code, la documentation et les tests dans un pipeline de développement unifié qui s'exporte directement vers des modules Python standard. Le framework se distingue par des outils spécialisés conçus pour surmonter les défis inhérents à l'utilisation de notebooks dans l'ingénierie logicielle professionnelle. Il inclut des hooks Git personnalisés et des pilotes de fusion qui assainissent les métadonnées volatiles des notebooks, éliminant efficacement les diffs bruyants et résolvant les conflits de fusion. De plus, il utilise des directives basées sur les cellules pour contrôler la visibilité du code, les tests et la génération de documentation, permettant aux développeurs de maintenir un code source propre et modulaire tout en travaillant dans un environnement interactif. Au-delà de son flux de travail de développement principal, le projet fournit une suite robuste d'outils d'automatisation pour l'ensemble du cycle de vie logiciel. Cela inclut un moteur de site statique pour rendre une documentation de qualité publication avec prise en charge des équations mathématiques et du référencement croisé des symboles, ainsi que des utilitaires pour gérer les dépendances du projet, le versionnage et les tests automatisés. Il prend également en charge les flux de travail d'intégration continue pour déployer la documentation et publier des paquets vers des registres standard. Le projet fournit un processus d'amorçage standardisé pour initialiser de nouveaux dépôts avec des pipelines pré-configurés pour les tests, la documentation et le contrôle de version.
Converts notebook files into structured Python packages ready for distribution and installation.
Ce projet est un wrapper Python pour la bibliothèque de vision par ordinateur OpenCV, fournissant un pont qui expose des fonctions C++ haute performance au langage de programmation Python. Il sert de collection d'outils pour le traitement d'images en temps réel, la détection d'objets et le machine learning sur des données visuelles. Le projet fournit des distributions binaires précompilées, permettant l'intégration de capacités de vision dans les applications Python sans nécessiter un compilateur C++ local. Il propose des distributions de paquets multi-variantes, incluant des versions headless conçues pour les environnements serveur ou cloud où une interface utilisateur graphique n'est pas requise. La bibliothèque couvre un large éventail de tâches de programmation en vision par ordinateur, incluant le traitement d'images et l'analyse visuelle. Elle prend également en charge la vision accélérée par le matériel et la création de liaisons personnalisées pour activer des modules fonctionnels spécialisés.
Ships pre-compiled binary wheels for the Python ecosystem to simplify the installation of vision tools.
Ce projet est une implémentation de référence et un tutoriel conçu pour démontrer le flux de travail de bout en bout de la construction, du versionnage et du téléchargement de distributions Python. Il sert de modèle de projet concret et d'exemple pour configurer les métadonnées et les artefacts de build pour les index de paquets. Le dépôt illustre comment empaqueter un logiciel en définissant les métadonnées du projet et les dépendances dans des fichiers de configuration statiques. Il couvre le processus de transformation des arbres sources en archives versionnées et en distributions binaires spécifiques à la plateforme, montrant spécifiquement comment construire des wheels binaires et des distributions sources. Le projet couvre des domaines de capacités plus larges, notamment la gestion des dépendances, la création d'interfaces en ligne de commande et l'automatisation de la publication des versions vers des dépôts. Il démontre également l'utilisation d'environnements virtuels isolés et l'intégration d'extensions binaires.
Serves as a reference implementation for the end-to-end Python distribution and packaging workflow.
Pyarmor est un ensemble d'outils pour protéger les logiciels Python via l'obfuscation du code source, la protection du bytecode et la compilation binaire. Il fonctionne comme un obfuscateur de code, un protecteur de bytecode et un compilateur binaire conçu pour empêcher l'ingénierie inverse et l'accès non autorisé aux scripts et paquets Python. Le projet se distingue en fournissant un gestionnaire de licence logicielle complet qui permet une licence liée au matériel. Cela permet aux développeurs de verrouiller l'exécution des scripts sur des appareils physiques ou des machines virtuelles spécifiques et d'appliquer des dates d'expiration strictes via des clés d'exécution chiffrées. Ses capacités plus larges couvrent la distribution sécurisée via la génération de wheels obfusqués et d'exécutables autonomes pour plusieurs plateformes. La surface de sécurité inclut des vérifications d'intégrité à l'exécution, telles que la prévention de l'attachement de débogueur, la protection au niveau de la mémoire et la conversion de fonctions Python en extensions C compilées. L'outil inclut une interface en ligne de commande et prend en charge l'intégration dans des pipelines d'intégration continue (CI) pour automatiser le processus d'obfuscation lors des builds.
Provides secure packaging of protected Python code into obfuscated wheels or standalone executables for multi-platform deployment.
Ce projet est un outil de packaging Python et un bootstrapper de projet conçu pour gérer le cycle de vie des releases logicielles. Il fournit des utilitaires pour construire des fichiers de distribution et télécharger des paquets Python vers des index de paquets distants. L'outil automatise le contrôle de version en créant et en poussant des tags Git vers des dépôts distants pendant le processus de téléchargement du paquet. Il inclut également un utilitaire de bootstrapping qui génère une structure de répertoire de projet standardisée et des fichiers de configuration à partir de modèles prédéfinis.
Provides tools for building and preparing Python projects for publication to package registries.
Ce projet est un template Cookiecutter pour amorcer des paquets Python avec une structure de répertoire et des fichiers de configuration standardisés. Il fournit une base pour les nouvelles bibliothèques en générant des structures de projet, des fichiers boilerplate et des points d'entrée d'interface de ligne de commande. Le template met l'accent sur une chaîne d'approvisionnement logicielle sécurisée via des pipelines de build durcis. Il utilise le pinning de commit SHA pour les actions et des ensembles de permissions minimaux pour se protéger contre les attaques, tout en fournissant une configuration pour construire et télécharger des paquets signés vers des registres en utilisant des fournisseurs d'identité sécurisés. Le projet couvre un large ensemble de capacités, incluant l'automatisation de l'intégration continue pour les tests multi-versions, le linting et la vérification de type. Il inclut également un pipeline de documentation automatisé qui extrait les références API des docstrings et les déploie vers des fournisseurs d'hébergement. Des outils supplémentaires gèrent la gestion des dépendances, la compilation des artefacts de distribution et l'analyse de vulnérabilité statique.
Provides a Cookiecutter template for generating standardized Python project directory layouts.
Python-Guide-CN est une traduction chinoise d'un guide complet sur la programmation Python idiomatique et le développement logiciel. Il sert de tutoriel de programmation curé et de référence d'écosystème, fournissant un chemin structuré pour apprendre la syntaxe Python, les bibliothèques standard et les modèles de codage professionnels. Le projet se distingue en offrant des instructions détaillées pour configurer des environnements de développement sous Windows, macOS et Linux. Il se concentre spécifiquement sur la sélection des interpréteurs et la gestion des environnements virtuels pour assurer un espace de travail cohérent. Le guide couvre un large éventail de capacités techniques, y compris les flux de travail de test logiciel, la distribution de paquets et l'implémentation des meilleures pratiques de codage. Il fournit en outre des conseils sur le développement web, la construction d'API REST et le calcul scientifique, y compris l'analyse et la visualisation de données.
Covers the process of packaging applications and libraries for distribution via package indices or as standalone executables.