22 Repos
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 22 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 ist ein Python-Paketmanager, Dependency-Resolver und Build-Tool, das darauf ausgelegt ist, reproduzierbare Umgebungen zu schaffen. Es fungiert als Runtime-Manager, der zwischen verschiedenen Versionen des Python-Interpreters mittels eigenständiger Builds wechselt und gleichzeitig isolierte virtuelle Umgebungen verwaltet, um Versionskonflikte zwischen Projekten zu vermeiden. Das Tool zeichnet sich durch die Verwendung plattformübergreifender Lockfiles und eine pluginbasierte Erweiterungsarchitektur aus, die es Benutzern ermöglicht, neue Funktionen über externe Distributionen hinzuzufügen. Es bietet ein zentralisiertes Paket-Caching-System und eine parallele Installations-Pipeline, um die für die Umgebungseinrichtung und Dependency-Resolution erforderliche Zeit zu reduzieren. Über das Kernmanagement hinaus deckt PDM die Projekt-Orchestrierung durch benutzerdefinierte Skriptdefinitionen und Kommandozeilen-Shortcuts ab. Es handhabt zudem den gesamten Distributions-Lebenszyklus, von der Generierung standardisierter Projektarchive bis hin zur Veröffentlichung von Paketen in Remote-Repositories. Das Tool stellt die Interoperabilität durch die Verwendung standardisierter Metadatenformate sicher und bietet Dienstprogramme zum Importieren und Konvertieren von Projektkonfigurationen anderer Manager.
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 ist ein Python-Anwendungspacker und Interpreter-Embedder, der dazu entwickelt wurde, Python-Code und Abhängigkeiten in eine einzelne, eigenständige ausführbare Binärdatei zu kompilieren. Er fungiert als Distributionstool, das es Anwendungen ermöglicht, auf Zielmaschinen ohne vorinstallierten Interpreter zu laufen. Das Projekt dient als Brücke zwischen Rust und Python und bietet ein Framework zur Integration beider Sprachen, um linkbare Bibliotheken zu erstellen oder Logik schrittweise zu ersetzen. Es erleichtert das Einbetten einer Python-Runtime in größere Anwendungen, um Skripte auszuführen oder Python-basierte Logik bereitzustellen. Das Toolset deckt das Packaging von Python-Anwendungen, Distributions-Workflows und die Integration eingebetteter Python-Runtimes ab.
Packages and delivers Python applications as standalone binaries to simplify installation and deployment.
Dieses Projekt ist ein Alignment-Framework und eine Pipeline-Suite für das Training von Sprachmodellen mittels Supervised Fine-Tuning und Preference Optimization. Es bietet Tools für die Ausführung von großskaligem, verteiltem Training über mehrere GPUs und Compute-Nodes hinweg, ergänzt durch ein System zur Messung von Hilfsbereitschaft und Dialogqualität durch Single-Turn- und Multi-Turn-Benchmarks. Das Framework enthält spezialisierte Tools für Direct Preference Optimization, um das Modellverhalten mithilfe gepaarter Daten ohne separates Reward-Modell zu verfeinern. Es unterstützt zudem Constitutional AI Alignment sowie das Training von Reward-Modellen zur Bewertung und Einstufung von Antworten basierend auf Präferenzkriterien. Das Projekt deckt umfassendere Funktionen für das Blending und Mischen von Datensätzen, Parameter-effizientes Fine-Tuning via Low-Rank Adaptation sowie Rejection Sampling Optimization ab. Es verwaltet den Trainings-Lebenszyklus durch konfigurationsgesteuerte Rezepte und bietet Systeme für das Streaming von Echtzeit-Leistungsmetriken an externe Dashboards.
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.
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.
Dieses Projekt ist ein umfassendes Framework für Literate Programming, das es Entwicklern ermöglicht, produktionsreife Python-Bibliotheken vollständig innerhalb von Jupyter Notebooks zu erstellen. Indem Notebooks als primäre Quelle der Wahrheit behandelt werden, integriert es Code, Dokumentation und Tests in eine einheitliche Entwicklungspipeline, die direkt in Standard-Python-Module exportiert wird. Das Framework zeichnet sich durch spezialisierte Tools aus, die darauf ausgelegt sind, die inhärenten Herausforderungen bei der Verwendung von Notebooks in der professionellen Softwareentwicklung zu überwinden. Es enthält benutzerdefinierte Git-Hooks und Merge-Driver, die volatile Notebook-Metadaten bereinigen, wodurch verrauschte Diffs effektiv eliminiert und Merge-Konflikte gelöst werden. Darüber hinaus nutzt es zellbasierte Direktiven, um Code-Sichtbarkeit, Tests und Dokumentationsgenerierung zu steuern, was es Entwicklern ermöglicht, sauberen, modularen Quellcode zu pflegen, während sie in einer interaktiven Umgebung arbeiten. Über seinen Kern-Entwicklungs-Workflow hinaus bietet das Projekt eine robuste Suite von Automatisierungstools für den gesamten Software-Lebenszyklus. Dies umfasst eine Static-Site-Engine zum Rendern von Dokumentationen in Publikationsqualität mit Unterstützung für mathematische Gleichungen und Symbol-Querverweise sowie Utilities zur Verwaltung von Projekt-Abhängigkeiten, Versionierung und automatisierten Tests. Es unterstützt zudem Continuous-Integration-Workflows zur Bereitstellung von Dokumentationen und zur Veröffentlichung von Paketen in Standard-Registries. Das Projekt bietet einen standardisierten Bootstrapping-Prozess, um neue Repositories mit vorkonfigurierten Pipelines für Tests, Dokumentation und Versionskontrolle zu initialisieren.
Converts notebook files into structured Python packages ready for distribution and installation.
Dieses Projekt ist ein Python-Wrapper für die OpenCV-Computer-Vision-Bibliothek und bietet eine Brücke, die hochperformante C++-Funktionen für die Programmiersprache Python verfügbar macht. Es dient als Sammlung von Tools für Echtzeit-Bildverarbeitung, Objekterkennung und maschinelles Lernen auf visuellen Daten. Das Projekt bietet vorkompilierte Binärdistributionen, die die Integration von Vision-Funktionen in Python-Anwendungen ermöglichen, ohne einen lokalen C++-Compiler zu erfordern. Es bietet Multi-Variant-Paketdistributionen, einschließlich Headless-Versionen, die für Server- oder Cloud-Umgebungen konzipiert sind, in denen keine grafische Benutzeroberfläche erforderlich ist. Die Bibliothek deckt ein breites Spektrum an Computer-Vision-Programmieraufgaben ab, einschließlich Bildverarbeitung und visueller Analyse. Sie unterstützt zudem hardwarebeschleunigtes Vision und die Erstellung benutzerdefinierter Bindings zur Aktivierung spezialisierter Funktionsmodule.
Ships pre-compiled binary wheels for the Python ecosystem to simplify the installation of vision tools.
Dieses Projekt ist eine Referenzimplementierung und ein Tutorial, das den End-to-End-Workflow für das Bauen, Versionieren und Hochladen von Python-Distributionen demonstriert. Es dient als konkrete Projektvorlage und Beispiel für die Konfiguration von Metadaten und Build-Artefakten für Paket-Indices. Das Repository veranschaulicht, wie Software verpackt wird, indem Projektmetadaten und Dependencies in statischen Konfigurationsdateien definiert werden. Es deckt den Prozess der Transformation von Source-Trees in versionierte Archive und plattformspezifische Binärdistributionen ab, wobei insbesondere der Bau von Binary-Wheels und Source-Distributionen gezeigt wird. Das Projekt deckt breitere Funktionsbereiche ab, darunter Dependency-Management, die Erstellung von Command-Line-Interfaces und die Automatisierung des Release-Publishings in Repositories. Zudem demonstriert es die Verwendung isolierter virtueller Umgebungen und die Integration von Binär-Extensions.
Serves as a reference implementation for the end-to-end Python distribution and packaging workflow.
Pyarmor ist ein Toolset zum Schutz von Python-Software durch Quellcode-Obfuskation, Bytecode-Schutz und Binärkompilierung. Es fungiert als Code-Obfuskator, Bytecode-Protektor und Binär-Compiler, der darauf ausgelegt ist, Reverse Engineering und unbefugten Zugriff auf Python-Skripte und -Pakete zu verhindern. Das Projekt zeichnet sich durch die Bereitstellung eines umfassenden Software-Lizenzmanagers aus, der hardwaregebundene Lizenzierung ermöglicht. Dies erlaubt Entwicklern, die Skriptausführung an spezifische physische Geräte oder virtuelle Maschinen zu binden und strikte Ablaufdaten mittels verschlüsselter Laufzeitschlüssel durchzusetzen. Die breiteren Funktionen decken die sichere Verteilung durch die Generierung obfuskierter Wheels und eigenständiger ausführbarer Dateien für mehrere Plattformen ab. Die Sicherheitsoberfläche umfasst Laufzeit-Integritätsprüfungen, wie z. B. die Verhinderung von Debugger-Anhängen, Schutz auf Speicherebene und die Konvertierung von Python-Funktionen in kompilierte C-Erweiterungen. Das Tool enthält ein Command-Line-Interface und unterstützt die Integration in CI/CD-Pipelines, um den Obfuskationsprozess während der Builds zu automatisieren.
Provides secure packaging of protected Python code into obfuscated wheels or standalone executables for multi-platform deployment.
Dieses Projekt ist ein Python-Packaging-Tool und Projekt-Bootstrapper, das darauf ausgelegt ist, den Software-Release-Lebenszyklus zu verwalten. Es bietet Dienstprogramme zum Erstellen von Distributionsdateien und zum Hochladen von Python-Paketen auf Remote-Paket-Indizes. Das Tool automatisiert die Versionsverwaltung durch das Erstellen und Pushen von Git-Tags in Remote-Repositories während des Paket-Upload-Prozesses. Es enthält zudem ein Bootstrapping-Dienstprogramm, das eine standardisierte Projektverzeichnisstruktur und Konfigurationsdateien aus vordefinierten Vorlagen generiert.
Provides tools for building and preparing Python projects for publication to package registries.
Dieses Projekt ist eine Cookiecutter-Vorlage für das Bootstrapping von Python-Paketen mit einem standardisierten Verzeichnislayout und Konfigurationsdateien. Es bietet ein Fundament für neue Bibliotheken durch die Generierung von Projektstrukturen, Boilerplate-Dateien und Befehlszeilen-Einstiegspunkten. Die Vorlage betont eine sichere Software-Lieferkette durch gehärtete Build-Pipelines. Sie nutzt Commit-SHA-Pinning für Actions und minimale Berechtigungssätze zum Schutz vor Angriffen, während sie ein Setup für das Erstellen und Hochladen signierter Pakete in Registries unter Verwendung sicherer Identitätsanbieter bereitstellt. Das Projekt deckt eine breite Palette an Funktionen ab, einschließlich CI-Automatisierung für Multi-Version-Tests, Linting und Typ-Prüfung. Es enthält zudem eine automatisierte Dokumentations-Pipeline, die API-Referenzen aus Docstrings extrahiert und auf Hosting-Anbietern bereitstellt. Zusätzliche Tools handhaben Abhängigkeitsmanagement, die Kompilierung von Distributionsartefakten und statische Schwachstellen-Scans.
Provides a Cookiecutter template for generating standardized Python project directory layouts.
Python-Guide-CN ist eine chinesische Übersetzung eines umfassenden Leitfadens für idiomatische Python-Programmierung und Softwareentwicklung. Er dient als kuratiertes Programmier-Tutorial und Ökosystem-Referenz und bietet einen strukturierten Pfad zum Erlernen von Python-Syntax, Standardbibliotheken und professionellen Coding-Mustern. Das Projekt zeichnet sich dadurch aus, dass es detaillierte Anweisungen für das Einrichten von Entwicklungsumgebungen unter Windows, macOS und Linux bietet. Es konzentriert sich spezifisch auf die Auswahl von Interpretern und die Verwaltung virtueller Umgebungen, um einen konsistenten Arbeitsplatz zu gewährleisten. Der Leitfaden deckt eine breite Palette technischer Funktionen ab, einschließlich Software-Test-Workflows, Paketverteilung und der Implementierung von Coding-Best-Practices. Er bietet zudem Anleitungen zur Webentwicklung, REST-API-Konstruktion und wissenschaftlichem Rechnen, einschließlich Datenanalyse und Visualisierung.
Covers the process of packaging applications and libraries for distribution via package indices or as standalone executables.
Dieses Projekt ist eine containerisierte Machine-Learning-Workflow-Engine und ein Orchestrator, der darauf ausgelegt ist, den End-to-End-Lebenszyklus von Machine-Learning-Modellen auf Kubernetes-Clustern zu automatisieren. Es fungiert als MLOps-Pipeline-Compiler, der eine domänenspezifische Sprache in strukturierte Spezifikationen für eine portable und skalierbare Bereitstellung umwandelt. Die Plattform bietet eine Multi-Tenant-Umgebung mit isolierten Namespaces und Identitätsanbieter-Authentifizierung. Sie zeichnet sich durch eine Kombination aus containerbasierter Aufgabenisolierung, stark typisiertem Artefaktmanagement für die Datenübergabe und inhaltsadressierbarem Ergebnis-Caching aus, um redundante Berechnungen zu vermeiden. Das System deckt eine umfassende Workflow-Orchestrierung ab, einschließlich paralleler Aufgabenausführung, wiederkehrender Laufplanung und bedingter Verzweigungslogik. Es unterstützt zudem Experiment-Tracking, Workflow-Metrikerfassung und das Management wiederverwendbarer Pipeline-Komponenten, mit der Möglichkeit, spezifische Hardware-Ressourcenanforderungen für CPU, Speicher und GPU zu konfigurieren. Die Software wird über ein Python-SDK vertrieben und kann in eigenständigen, lokalen oder Multi-Tenant-Umgebungen bereitgestellt werden.
Provides tools for building and preparing Python distribution artifacts for the software development kit.