awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
golang avatar

golang/depArchived

0
View on GitHub↗
12,737 stars·1,030 forks·Go·BSD-3-Clause·26 viewsgolang.github.io/dep↗

Dep

This project is a dependency management tool for Go designed to track and lock package versions to ensure reproducible builds across different environments. It functions as a version lock file manager, recording complete snapshots of the dependency graph to prevent version drift, and as a semantic version constraint resolver that calculates compatible package versions.

The tool orchestrates a local vendor directory, mirroring external source code to enable offline builds and source auditing. It utilizes a combination of static analysis to discover required libraries and a logic engine to intersect semantic version ranges and revisions.

Broad capability areas include dependency synchronization, integrity verification through hashing, and the management of remote repository caches. It also provides utilities for dependency tree visualization, version updating, and forced versioning to resolve conflicts between direct and transitive dependencies.

Features

  • Deterministic Dependency Locking - Uses lockfiles to record a transitively complete snapshot of the dependency graph to ensure identical builds across environments.
  • Dependency Lock Files - Records a complete transitive dependency graph in a lock file to ensure identical builds across environments.
  • Dependency Constraints - Provides mechanisms for defining version compatibility rules and requirements to filter and lock dependencies.
  • Constraint Resolvers - Calculates a compatible set of project versions by intersecting semantic version ranges and revisions across the dependency graph.
  • Dependency Vendors - Archives external dependency source code locally to support offline builds and source auditing.
  • Source Vendoring - Implements source vendoring by fetching and storing third-party source code locally for offline builds.
  • Dependency Tracking - Tracks specific versions of external packages in configuration files to maintain environment consistency.
  • Dependency Source Mirroring - Mirrors external source code into a local vendor directory to enable offline builds and source auditing.
  • Version Constraints - Implements logic to resolve compatible package versions by intersecting semantic version ranges and git revisions.
  • Go Version Resolution - Defines semantic version ranges and overrides to resolve conflicts between direct and transitive Go dependencies.
  • Go Module Organization - Manages Go code modules, dependencies, and versioning to ensure reproducible builds across environments.
  • Resolvable Version Verifiers - Finds the newest compatible version of a dependency that satisfies all intersecting semantic version ranges.
  • Go Dependency Managers - Provides comprehensive tracking and locking of external Go package versions for reproducible builds.
  • Import Path Mapping - Maps import paths to physical repository URLs using static host rules and HTTP requests.
  • Import Path Resolution - Determines the correct source root for an import path using a combination of static patterns and dynamic network requests.
  • Repository Root Identification - Identifies the base repository URL from an import path using static host rules or dynamic HTTP requests.
  • Dependency and Configuration Synchronization - Aligns import statements, configuration files, and the vendor directory to ensure all required dependencies are consistent.
  • Dependency Discovery - Scans source code imports to automatically infer required external packages and their initial versions.
  • Repository Cache Managers - Maintains a local cache of pristine remote repository clones to avoid redundant network requests.
  • Upstream Source Caching - Maintains a pristine set of remote repository clones in a dedicated local directory to avoid polluting the global workspace.
  • Package Content Validation - Ensures imported packages contain valid files and pass basic parsing to prevent build failures.
  • Dependency Version Updates - Provides utilities for refreshing pinned package versions to the latest compatible releases based on defined constraints.
  • Version Overrides - Allows superseding all other constraints for direct and transitive dependencies to resolve version conflicts.
  • Integrity Verifications - Verifies the integrity of the local vendor directory using cryptographic hashes to detect unauthorized modifications.
  • Vendor Integrity Verification - Hashes the contents of the local vendor directory and compares them against a lockfile to ensure code remains unchanged.
  • Dependency Inference - Analyzes existing source code to automatically infer required libraries and generate an initial dependency lock file.
  • Dependency Management - Official experimental dependency management tool.
  • Package Management - Dependency management tool for Go.

Star history

Star history chart for golang/depStar history chart for golang/dep

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does golang/dep do?

This project is a dependency management tool for Go designed to track and lock package versions to ensure reproducible builds across different environments. It functions as a version lock file manager, recording complete snapshots of the dependency graph to prevent version drift, and as a semantic version constraint resolver that calculates compatible package versions.

What are the main features of golang/dep?

The main features of golang/dep are: Deterministic Dependency Locking, Dependency Lock Files, Dependency Constraints, Constraint Resolvers, Dependency Vendors, Source Vendoring, Dependency Tracking, Dependency Source Mirroring.

Which projects share features with golang/dep?

Projects with overlapping indexed features include: masterminds/glide — Glide is a Go dependency management tool that fetches, pins, and vendors external packages to enable reproducible… tools/godep — godep is a dependency manager for Go that records, restores, and updates package versions to ensure reproducible… nvie/pip-tools — pip-tools is a set of command line utilities for compiling high-level Python dependency lists into pinned requirements… pypa/pipenv — Pipenv is a Python dependency manager and virtual environment manager that ensures reproducible environments across… kardianos/govendor — govendor is a toolset for Go dependency management that enables the replication of external packages into a local… carthage/carthage — Carthage is a decentralized dependency manager for Cocoa projects and an automation tool for Xcode builds. It…

Projects sharing features with Dep

These projects share indexed features with Dep. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • masterminds/glideMasterminds avatar

    Masterminds/glide

    8,095View on GitHub↗

    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

    Gogogolangpackage-management
    View on GitHub↗8,095
  • tools/godeptools avatar

    tools/godep

    5,513View on GitHub↗

    godep is a dependency manager for Go that records, restores, and updates package versions to ensure reproducible builds across different environments. It functions as a version lock tool, tracking specific package revisions in a manifest file to synchronize development workspaces and build states. The tool includes vendoring capabilities that copy external Go source code into a local directory, enabling projects to be built without active network access. The system manages the full dependency lifecycle, covering version locking, workspace synchronization, and the updating of tracked packages

    Go
    View on GitHub↗5,513
  • nvie/pip-toolsnvie avatar

    nvie/pip-tools

    8,005View on GitHub↗

    pip-tools is a set of command line utilities for compiling high-level Python dependency lists into pinned requirements files. It functions as a dependency lock tool and requirements compiler that resolves transitive dependencies to produce a deterministic list of packages. The project enables the maintenance of separate production and development dependency layers through layered requirement constraints. It supports targeted package upgrades and the generation of content hashes to verify package integrity during installation. The toolset covers dependency locking, version updates, and virtua

    Python
    View on GitHub↗8,005
  • pypa/pipenvpypa avatar

    pypa/pipenv

    25,066View on GitHub↗

    Pipenv is a Python dependency manager and virtual environment manager that ensures reproducible environments across different systems. It functions as a lockfile resolver, generating deterministic lockfiles from high-level dependency constraints to prevent version drift. The tool integrates project workflow automation by loading environment variables and executing custom project scripts. It also includes security auditing capabilities to scan installed packages for known vulnerabilities. The system covers a broad range of capabilities including dependency version locking, package installatio

    Python
    View on GitHub↗25,066
  • Compare all 30 related projects→