24 repositorios
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 es un gestor de paquetes de Python, resolutor de dependencias y herramienta de compilación diseñada para crear entornos reproducibles. Funciona como un gestor de tiempo de ejecución que instala y cambia entre diferentes versiones del intérprete de Python utilizando compilaciones independientes, mientras gestiona entornos virtuales aislados para evitar conflictos de versiones entre proyectos. La herramienta se distingue por el uso de archivos de bloqueo (lockfiles) multiplataforma y una arquitectura de extensión basada en plugins, permitiendo a los usuarios añadir nuevas capacidades a través de distribuciones externas. Proporciona un sistema centralizado de almacenamiento en caché de paquetes y un pipeline de instalación paralela para reducir el tiempo necesario para la configuración del entorno y la resolución de dependencias. Más allá de la gestión central, PDM cubre la orquestación de proyectos mediante definiciones de scripts personalizados y atajos de línea de comandos. También maneja el ciclo de vida completo de distribución, desde la generación de archivos de proyecto estandarizados hasta la publicación de paquetes en repositorios remotos. La herramienta garantiza la interoperabilidad mediante el uso de formatos de metadatos estandarizados y proporciona utilidades para importar y convertir configuraciones de proyectos de otros gestores.
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 es un empaquetador de aplicaciones Python e incrustador de intérpretes diseñado para compilar código Python y dependencias en un único binario ejecutable independiente. Funciona como una herramienta de distribución que permite que las aplicaciones se ejecuten en máquinas de destino sin un intérprete preinstalado. El proyecto sirve como un puente entre Rust y Python, proporcionando un framework para integrar ambos lenguajes para crear librerías enlazables o reemplazar lógica incrementalmente. Facilita la incrustación de un runtime de Python en aplicaciones más grandes para ejecutar scripts o proporcionar lógica basada en Python. El conjunto de herramientas cubre el empaquetado de aplicaciones Python, flujos de trabajo de distribución y la integración de runtimes de Python incrustados.
Packages and delivers Python applications as standalone binaries to simplify installation and deployment.
Este proyecto es un framework de alineación y un conjunto de pipelines para entrenar modelos de lenguaje mediante fine-tuning supervisado y optimización de preferencias. Proporciona herramientas para ejecutar entrenamiento distribuido a gran escala a través de múltiples GPU y nodos de cómputo, junto con un sistema para medir la utilidad del modelo y la calidad del diálogo mediante benchmarks de turno único y turnos múltiples. El framework incluye herramientas especializadas para la optimización directa de preferencias (DPO) con el fin de refinar el comportamiento del modelo utilizando datos emparejados sin necesidad de un modelo de recompensa independiente. También admite la alineación mediante IA constitucional y el entrenamiento de modelos de recompensa para clasificar y puntuar respuestas basadas en criterios de preferencia. El proyecto cubre capacidades más amplias para la mezcla y combinación de datasets, fine-tuning eficiente en parámetros mediante adaptación de bajo rango (LoRA) y optimización mediante muestreo de rechazo. Gestiona el ciclo de vida del entrenamiento a través de recetas basadas en configuración y proporciona sistemas para transmitir métricas de rendimiento en tiempo real a paneles de control externos.
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.
Este proyecto es un framework integral para la programación literaria que permite a los desarrolladores construir bibliotecas de Python listas para producción completamente dentro de Jupyter Notebooks. Al tratar los notebooks como la fuente principal de verdad, integra código, documentación y pruebas en un pipeline de desarrollo unificado que se exporta directamente a módulos estándar de Python. El framework se distingue por herramientas especializadas diseñadas para superar los desafíos inherentes del uso de notebooks en la ingeniería de software profesional. Incluye hooks de Git personalizados y controladores de fusión que desinfectan los metadatos volátiles de los notebooks, eliminando eficazmente las diferencias ruidosas y resolviendo conflictos de fusión. Además, utiliza directivas basadas en celdas para controlar la visibilidad del código, las pruebas y la generación de documentación, permitiendo a los desarrolladores mantener un código fuente limpio y modular mientras trabajan en un entorno interactivo. Más allá de su flujo de trabajo de desarrollo central, el proyecto proporciona un sólido conjunto de herramientas de automatización para todo el ciclo de vida del software. Esto incluye un motor de sitio estático para renderizar documentación de grado de publicación con soporte para ecuaciones matemáticas y referencias cruzadas de símbolos, así como utilidades para gestionar dependencias del proyecto, versiones y pruebas automatizadas. También admite flujos de trabajo de integración continua para desplegar documentación y publicar paquetes en registros estándar. El proyecto proporciona un proceso de arranque estandarizado para inicializar nuevos repositorios con pipelines preconfigurados para pruebas, documentación y control de versiones.
Converts notebook files into structured Python packages ready for distribution and installation.
Este proyecto es un wrapper de Python para la biblioteca de visión artificial OpenCV, que proporciona un puente que expone funciones de C++ de alto rendimiento al lenguaje de programación Python. Sirve como una colección de herramientas para procesamiento de imágenes en tiempo real, detección de objetos y machine learning en datos visuales. El proyecto proporciona distribuciones binarias precompiladas, permitiendo la integración de capacidades de visión en aplicaciones de Python sin requerir un compilador de C++ local. Ofrece distribuciones de paquetes multivariantes, incluyendo versiones headless diseñadas para entornos de servidor o nube donde no se requiere una interfaz gráfica de usuario. La biblioteca cubre una amplia gama de tareas de programación de visión artificial, incluyendo procesamiento de imágenes y análisis visual. También admite visión acelerada por hardware y la creación de bindings personalizados para activar módulos funcionales especializados.
Ships pre-compiled binary wheels for the Python ecosystem to simplify the installation of vision tools.
Este proyecto es una implementación de referencia y tutorial diseñado para demostrar el flujo de trabajo de extremo a extremo de construcción, versionado y carga de distribuciones de Python. Sirve como una plantilla de proyecto concreta y ejemplo para configurar metadatos y artefactos de compilación para índices de paquetes. El repositorio ilustra cómo empaquetar software definiendo metadatos del proyecto y dependencias en archivos de configuración estáticos. Cubre el proceso de transformar árboles de fuente en archivos versionados y distribuciones binarias específicas de plataforma, mostrando específicamente cómo construir wheels binarios y distribuciones de fuente. El proyecto cubre áreas de capacidad más amplias, incluyendo gestión de dependencias, la creación de interfaces de línea de comandos y la automatización de la publicación de lanzamientos en repositorios. También demuestra el uso de entornos virtuales aislados y la integración de extensiones binarias.
Serves as a reference implementation for the end-to-end Python distribution and packaging workflow.
Pyarmor es un conjunto de herramientas para proteger software en Python mediante la ofuscación de código fuente, protección de bytecode y compilación binaria. Funciona como un ofuscador de código, protector de bytecode y compilador binario diseñado para prevenir la ingeniería inversa y el acceso no autorizado a scripts y paquetes de Python. El proyecto se distingue por proporcionar un gestor de licencias de software integral que permite licencias vinculadas al hardware. Esto permite a los desarrolladores bloquear la ejecución de scripts a dispositivos físicos o máquinas virtuales específicos y aplicar fechas de vencimiento estrictas mediante claves de tiempo de ejecución cifradas. Sus capacidades más amplias cubren la distribución segura mediante la generación de wheels ofuscados y ejecutables independientes para múltiples plataformas. La superficie de seguridad incluye comprobaciones de integridad en tiempo de ejecución, como la prevención de adjuntar depuradores, protección a nivel de memoria y la conversión de funciones de Python en extensiones de C compiladas. La herramienta incluye una interfaz de línea de comandos y admite la integración en pipelines de integración continua (CI) para automatizar el proceso de ofuscación durante las compilaciones.
Provides secure packaging of protected Python code into obfuscated wheels or standalone executables for multi-platform deployment.
Este proyecto es una herramienta de empaquetado de Python y un bootstrapper de proyectos diseñado para gestionar el ciclo de vida de lanzamiento de software. Proporciona utilidades para construir archivos de distribución y subir paquetes de Python a índices de paquetes remotos. La herramienta automatiza el control de versiones creando y enviando etiquetas Git a repositorios remotos durante el proceso de subida del paquete. También incluye una utilidad de arranque que genera una estructura de directorio de proyecto estandarizada y archivos de configuración a partir de plantillas predefinidas.
Provides tools for building and preparing Python projects for publication to package registries.
Este proyecto es una plantilla de Cookiecutter para arrancar paquetes de Python con un diseño de directorio y archivos de configuración estandarizados. Proporciona una base para nuevas bibliotecas mediante la generación de estructuras de proyectos, archivos boilerplate y puntos de entrada de interfaz de línea de comandos. La plantilla enfatiza una cadena de suministro de software segura a través de pipelines de construcción reforzados. Utiliza el anclaje de commit SHA para acciones y conjuntos de permisos mínimos para proteger contra ataques, mientras proporciona una configuración para construir y cargar paquetes firmados en registros utilizando proveedores de identidad seguros. El proyecto cubre un amplio conjunto de capacidades, incluyendo la automatización de integración continua para pruebas multiversión, linting y verificación de tipos. También incluye un pipeline de documentación automatizado que extrae referencias de API de docstrings y las despliega en proveedores de alojamiento. Herramientas adicionales manejan la gestión de dependencias, la compilación de artefactos de distribución y el escaneo de vulnerabilidades estáticas.
Provides a Cookiecutter template for generating standardized Python project directory layouts.
Python-Guide-CN es una traducción al chino de una guía completa sobre programación idiomática en Python y desarrollo de software. Sirve como un tutorial de programación curado y referencia del ecosistema, proporcionando un camino estructurado para aprender la sintaxis de Python, las bibliotecas estándar y los patrones de codificación profesional. El proyecto se distingue por ofrecer instrucciones detalladas para configurar entornos de desarrollo en Windows, macOS y Linux. Se centra específicamente en la selección de intérpretes y la gestión de entornos virtuales para asegurar un espacio de trabajo consistente. La guía cubre una amplia gama de capacidades técnicas, incluyendo flujos de trabajo de pruebas de software, distribución de paquetes y la implementación de mejores prácticas de codificación. Proporciona además orientación sobre desarrollo web, construcción de APIs REST y computación científica, incluyendo análisis y visualización de datos.
Covers the process of packaging applications and libraries for distribution via package indices or as standalone executables.