17 dépôts
Enforcing a specific version of a package to ensure environmental stability.
Distinct from Versioned Package Managers: Distinct from Versioned Package Managers: specifically addresses the mechanism of pinning to prevent automatic version drift.
Explore 17 awesome GitHub repositories matching development tools & productivity · Version Pinning. Refine with filters or upvote what's useful.
This project is a command line package manager and dependency management engine used for installing, updating, and removing software packages across different operating systems. It functions as a package recipe system and software repository administrator, utilizing declarative scripts to define software sources, build arguments, and installation steps. The system operates as a binary distribution platform that compiles source code into pre-compiled binaries and distributes them through remote repositories. It includes an automated version tracker that monitors upstream software releases and
Prevents specific packages from being updated automatically to ensure system stability.
This project is a Ruby-based package definition repository that functions as a cross-platform package manager and software dependency resolver for macOS and Linux. It provides a centralized system for installing, updating, and managing software through a Git-based distribution model. The system distinguishes itself through a binary package distribution network that produces pre-compiled bottles to avoid local compilation from source. It utilizes a Ruby-based domain specific language to define installation recipes and employs a distributed version control architecture to synchronize these defi
Prevents a package from being updated during global upgrade processes to ensure version stability.
Buf is a toolchain for managing the full lifecycle of Protocol Buffers schemas. It provides a set of tools for schema governance, including linting to enforce style guides, a breaking change detector to ensure backward compatibility, and a system for producing language-specific source code via local or remote plugins. The project distinguishes itself through a remote schema registry that centralizes the hosting, versioning, and distribution of Protocol Buffers modules. This registry allows for server-side enforcement of governance policies, such as blocking updates that introduce backward-inc
Enforces specific versions of generated libraries using labels or commit IDs to ensure reproducible builds.
MicroK8s is a lightweight, single-package Kubernetes distribution designed for resource-constrained environments, edge computing, and local development. It packages all Kubernetes control-plane components into a single daemon process, reducing resource overhead while maintaining full Kubernetes conformance. The project is distributed as a snap package, enabling automatic updates and strict confinement for secure deployment on Linux systems. The distribution distinguishes itself through its minimal footprint and self-contained architecture, running all Kubernetes services as one process with a
Tracks upstream Kubernetes releases and pins to any version from 1.10 onward for compatibility and testing.
Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible builds across environments. It stores project-specific copies of Go packages in a vendor directory, isolating dependencies per project to avoid version conflicts, and supports fetching packages from Git, Mercurial, Bazaar, and Subversion repositories. The tool resolves dependency versions using semantic versioning ranges and operators, and generates a lock file that records exact commit IDs for all transitive dependencies. Glide distinguishes itself with an interactive version wiz
Uses the tilde operator to lock a dependency to the latest patch within a minor version.
SD.Next is an all-in-one web interface and multi-backend inference engine for generating, editing, and processing images and videos using diffusion models. It functions as a comprehensive tool for diffusion model management and an automated image processing pipeline for bulk operations. The project is distinguished by its hardware-backend abstraction layer, which provides automatic detection and acceleration for NVIDIA CUDA, AMD ROCm, Intel OpenVINO, and DirectML. It features a headless generative API and a programmatic command interface, allowing users to trigger tasks via REST API or CLI wi
Forces specific compute and CUDA combinations via environment variables to support legacy GPU hardware.
Orval is an OpenAPI-to-TypeScript code generator that produces fully typed API clients, data-fetching hooks, mock data, validation schemas, and server handlers from OpenAPI or Swagger specifications. It reads any YAML or JSON API specification and generates TypeScript interfaces, HTTP request functions, and framework-specific integration code that ensures compile-time correctness for all API calls. The project distinguishes itself by generating production-ready data-fetching hooks for React Query, Vue Query, Svelte Query, Solid Query, Angular, and SWR, complete with automatic cache invalidati
Forces generated schemas to emit Zod 3 or Zod 4 syntax regardless of the installed package version.
zplug est un gestionnaire de plugins pour le shell Zsh conçu pour installer et organiser des plugins, thèmes et commandes communautaires à partir de dépôts distants et de chemins locaux. Il se concentre sur la reproductibilité de l'environnement via une configuration versionnée, permettant aux plugins d'être épinglés à des branches git, tags ou hashs de commit spécifiques. Le projet optimise la vitesse de démarrage du shell en utilisant un système de chargement paresseux (lazy loading) qui diffère l'exécution des plugins jusqu'à ce qu'ils soient explicitement requis. Pour accélérer la configuration initiale de l'environnement, il emploie un installateur parallèle qui télécharge plusieurs extensions simultanément. Le gestionnaire prend en charge l'installation multi-source et gère la résolution des dépendances d'extensions pour garantir que les paquets requis sont chargés dans le bon ordre. Il inclut également des capacités pour télécharger des artefacts binaires externes et les mapper automatiquement au chemin système, ainsi que pour exécuter des hooks de cycle de vie personnalisés lors de l'installation et des mises à jour.
Allows pinning plugins to specific git branches, tags, or commit hashes to ensure stable and reproducible environments.
OpenStack is an open-source cloud computing platform for building and managing public and private cloud infrastructure at scale. It provides a framework for deploying, configuring, and operating cloud services, orchestrating compute, storage, and networking resources across a datacenter through a unified management layer. The platform is built on a decoupled service architecture where individual cloud services are developed and versioned independently within their own repositories. This meta-repository tracks interoperable versions of all OpenStack components as verified submodules, with each
Tracks interoperable versions across interdependent cloud services using pinned, tested commit snapshots.
Ce projet est un ensemble complet de ressources pédagogiques et de programmes structurés pour apprendre l'intelligence artificielle et le deep learning. Il fournit un cursus de machine learning composé de supports de cours et de notebooks interactifs centrés sur l'implémentation de modèles avec le framework PyTorch. La conception pédagogique suit une approche « code-first », où les étudiants implémentent des modèles fonctionnels avant d'étudier les mathématiques théoriques sous-jacentes. Le cursus est délivré via des documents exécutables qui combinent code en direct, équations et texte narratif pour guider l'implémentation et le déploiement de réseaux de neurones. Le projet inclut une automatisation pour le provisionnement d'environnements de deep learning sur des serveurs locaux ou dans le cloud. Il utilise une gestion des dépendances avec versions figées pour garantir que les notebooks s'exécutent de manière cohérente dans différents environnements informatiques.
Uses version pinning of libraries to ensure notebooks execute consistently across different computing environments.
Prelude est une distribution Emacs et un framework de configuration qui fournit un ensemble soigné de valeurs par défaut et une architecture modulaire. Il fonctionne comme un wrapper de gestion de paquets pour installer et épingler des versions stables d'extensions externes, assurant un environnement de développement cohérent et reproductible. Le projet se distingue par son système de configuration modulaire, qui permet aux utilisateurs de personnaliser les capacités de l'éditeur en basculant des modules de fonctionnalités spécifiques via un fichier de configuration central. Il inclut également un environnement de serveur de langage automatisé qui installe et configure des outils spécifiques au langage et des analyseurs de syntaxe à la demande selon le type de fichier édité. La distribution couvre des domaines de capacités plus larges, incluant l'amorçage de l'environnement d'éditeur, la gestion des dépendances épinglées par version et l'intégration d'extensions approuvées pour le contrôle de version et la navigation dans les projets. L'environnement peut être mis à jour et les fichiers de projet actualisés directement depuis l'éditeur.
Locks external extensions to specific stable releases to prevent breaking changes during updates.
tfenv est un gestionnaire de version Terraform et un utilitaire en ligne de commande conçu pour installer et basculer entre plusieurs versions de la CLI Terraform sur un seul système local. Il fonctionne comme un commutateur de binaire qui assure des outils d'infrastructure en tant que code cohérents à travers différents projets et environnements d'équipe. L'utilitaire gère les versions exécutables actives via des variables d'environnement et des fichiers de configuration locaux. Il prend en charge le verrouillage de version de projet pour fixer des versions spécifiques pour différents environnements ou projets clients, empêchant les problèmes de compatibilité lors de la collaboration. L'outil fournit des utilitaires pour télécharger et installer des versions spécifiques ou les plus récentes, lister les versions disponibles et désinstaller les binaires locaux. Ces opérations sont prises en charge par un registre de version local, des téléchargements d'artefacts vérifiés par somme de contrôle et une commutation par lien symbolique pour mettre à jour l'exécutable actif dans le chemin système.
Allows locking a project to a specific version in a configuration file to ensure environmental stability.
govendor est un ensemble d'outils pour la gestion des dépendances Go qui permet la réplication de paquets externes dans un répertoire local pour garantir des builds reproductibles sans nécessiter d'accès réseau actif. Il fonctionne comme un outil de vendorisation de dépendances et un gestionnaire de versions, récupérant des révisions git, des tags ou des branches spécifiques de paquets distants. Le projet inclut un auditeur de dépendances pour identifier les paquets manquants, modifiés ou obsolètes par rapport à leurs sources distantes. Il fournit également un utilitaire d'extraction de licence qui découvre et liste les licences légales associées aux chemins d'importation et aux dépendances du projet. Le système prend en charge la synchronisation pilotée par configuration et le filtrage conscient des tags de build pour exclure des fichiers ou des paquets spécifiques basés sur des contraintes de build. Il gère la mise en miroir des sources du distant vers le local et suit des révisions spécifiques pour maintenir des versions de paquets cohérentes à travers les environnements.
Ensures consistent package versions across environments by pinning dependencies to specific git hashes or tags.
Testcontainers for .NET est une bibliothèque de test Docker et un framework de test d'intégration conçu pour gérer le cycle de vie de conteneurs éphémères. Il fournit des abstractions de haut niveau en tant que wrapper de l'API Docker pour provisionner une infrastructure éphémère, remplaçant les mocks par de vraies instances de base de données, de messagerie et de moteur de recherche pour garantir des environnements de test isolés et reproductibles. Le projet se distingue par un modèle de configuration de conteneur par builder et un mécanisme de liaison de port dynamique qui évite les collisions lors de l'exécution de tests concurrents. Il permet une communication service-à-service fiable via l'orchestration de réseau virtuel et l'aliasing réseau, et assure la disponibilité des services via des vérifications de disponibilité basées sur le polling pour les endpoints HTTP et les ports TCP. La bibliothèque fournit des modules spécialisés pour les bases de données relationnelles, NoSQL et vectorielles, ainsi que des courtiers de messagerie et des émulateurs de services cloud. Sa surface de capacité s'étend à la configuration d'images de conteneur, à la collecte de logs et à la simulation de conditions réseau pour vérifier la résilience du système. Elle prend en charge la connectivité aux runtimes Docker locaux et distants via des variables d'environnement et des fichiers de configuration standardisés.
Overrides default image tags to specific versions to ensure consistent and reproducible test environments.
Cake est un système d'automatisation de build multiplateforme et un framework de script qui permet aux utilisateurs de définir des pipelines de build logiciel en utilisant des scripts C#. Il fonctionne comme un orchestrateur de pipeline CI/CD et un exécuteur de build, fournissant un langage spécifique au domaine (DSL) fortement typé pour simplifier l'orchestration des processus de compilation, de test et de packaging sur Windows, Linux et macOS. Le système garantit des environnements de build reproductibles en verrouillant les versions des outils de build, des modules et des dépendances. Il se distingue en permettant un flux de travail de script C# avec une prise en charge complète de l'IDE, incluant l'autocomplétion, la coloration syntaxique et l'exécution directe des tâches au sein des éditeurs. Le framework couvre un large éventail de capacités, incluant l'exécution de tâches en graphe orienté acyclique, l'abstraction de processus multiplateforme et l'installation automatisée d'outils. Il propose une détection sensible à l'environnement pour divers fournisseurs d'intégration continue et offre une extensibilité via une architecture de plugins basée sur NuGet et l'injection de dépendances. Les scripts de build sont exécutés sous forme de binaires compilés à l'exécution ou hébergés au sein d'une application console.
Locks specific versions of build extensions to ensure consistent and reproducible environments.
Ce projet est une collection de bonnes pratiques et de templates curés pour créer des images Docker sécurisées, stables et prêtes pour la production. Il fournit des standards pour l'optimisation des images OCI et un guide pour implémenter des configurations conformes aux standards de l'industrie dans les environnements de conteneurs. Le dépôt propose des modèles spécifiques pour le durcissement de la sécurité, comme l'implémentation de l'exécution par un utilisateur non-root avec des ID statiques pour empêcher l'élévation de privilèges sur l'hôte. Il fournit également des templates structurels pour les builds multi-étapes afin de séparer les dépendances de build de l'environnement d'exécution final. Des capacités supplémentaires couvrent la gestion des processus de conteneurs en utilisant des systèmes init légers pour gérer les signaux système et empêcher les processus zombies. Le projet inclut également des méthodes pour assurer la reproductibilité des builds via des images de base versionnées et des configurations réseau pour résoudre les échecs DNS sur les runtimes Linux et macOS hérités.
Locks specific base image tags to ensure consistent builds and prevent breaking changes from upstream updates.
Ce projet est un utilitaire en ligne de commande conçu pour gérer les environnements de développement en installant, basculant et épinglant plusieurs versions de langages de programmation, SDK, runtimes et moteurs de base de données. Il fonctionne comme un contrôleur centralisé pour les toolchains complexes, garantissant que des versions logicielles spécifiques sont maintenues de manière cohérente sur différentes machines et répertoires de projet. L'outil se distingue par une interface de terminal interactive qui permet aux utilisateurs de parcourir et de sélectionner visuellement les versions logicielles, réduisant le besoin de mémoriser des arguments de ligne de commande complexes. Il offre également un support robuste pour les environnements réseau restreints en acheminant le trafic de téléchargement via des proxys locaux ou inversés, garantissant une récupération fiable des paquets. Au-delà du versionnage de base, le gestionnaire s'intègre avec des installateurs de paquets externes et gère la configuration des protocoles de serveur de langage pour prendre en charge l'édition de code avancée. Il maintient les performances grâce à la mise en cache des métadonnées locales et automatise la cohérence de l'environnement en créant dynamiquement des shims de chemins shell et en générant des scripts de complétion en ligne de commande.
Locks specific software versions to individual project directories to ensure environment consistency across teams.