{"meta":{"title":"About the dependency graph","intro":"You can use the dependency graph to identify all your project's dependencies. The dependency graph supports a range of popular package ecosystems.","product":"Security and code quality","breadcrumbs":[{"href":"/en/code-security","title":"Security and code quality"},{"href":"/en/code-security/concepts","title":"Concepts"},{"href":"/en/code-security/concepts/supply-chain-security","title":"Supply chain security"},{"href":"/en/code-security/concepts/supply-chain-security/about-the-dependency-graph","title":"Dependency graph"}],"documentType":"article"},"body":"# About the dependency graph\n\nYou can use the dependency graph to identify all your project's dependencies. The dependency graph supports a range of popular package ecosystems.\n\n<!--Marketing-LINK: From /features/security and /features/security/software-supply-chain pages \"How GitHub's dependency graph is generated\".-->\n\n## About the dependency graph\n\nThe dependency graph is a summary of the manifest and lock files stored in a repository and any dependencies that are submitted for the repository using the dependency submission API. For each repository, it shows:\n\n* Dependencies, the ecosystems and packages it depends on\n* Dependents, the repositories and packages that depend on it\n\nFor each dependency, you can see the version, license information, the manifest file which included it, and whether it has known vulnerabilities. For package ecosystems supporting transitive dependencies, the relationship status will be displayed and you can click \"<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-kebab-horizontal\" aria-label=\"Show dependency options\" role=\"img\"><path d=\"M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"></path></svg>\", then \"Show paths\", to see the transitive path which brought in the dependency.\n\nYou can also search for a specific dependency using the search bar. Dependencies are sorted automatically with vulnerable packages at the top.\n\nFor information on the supported ecosystems and manifest files, see [Dependency graph supported package ecosystems](/en/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems).\n\nWhen you create a pull request containing changes to dependencies that targets the default branch, GitHub uses the dependency graph to add dependency reviews to the pull request. These indicate whether the dependencies contain vulnerabilities and, if so, the version of the dependency in which the vulnerability was fixed. For more information, see [About dependency review](/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review).\n\n## How the dependency graph is built\n\nThe dependency graph automatically parses dependencies by analyzing manifests and lock files in your repository. You can also submit data yourself. For more information, see [How the dependency graph recognizes dependencies](/en/code-security/concepts/supply-chain-security/dependency-graph-data).\n\n## Dependency graph availability\n\nRepository administrators can enable or disable the dependency graph for repositories. For more information, see [Managing security and analysis settings for your repository](/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository).\n\nRepository administrators can enable or disable the dependency graph for repositories. See [Enabling the dependency graph](/en/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph).\n\n## Dependents and \"used by\" data\n\nFor public repositories, the dependency graph lists dependents. These are other public repositories that depend on the repository or on packages that it publishes. This information is not reported for private repositories.\n\nSome repositories have a \"Used by\" section in the sidebar of the **Code** tab. This section shows the number of public references to a package that were found, and displays the avatars of some of the owners of the dependent projects. Clicking any item in this section takes you to the **Dependents** tab of the dependency graph.\n\nYour repository will have a \"Used by\" section if:\n\n* The dependency graph is enabled for the repository.\n* Your repository contains a package that is published on a supported package ecosystem. See [Dependency graph supported package ecosystems](/en/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems#supported-package-ecosystems).\n* Within the ecosystem, your package has a link to a *public* repository where the source is stored.\n* More than 100 repositories depend on your package.\n\n![Screenshot of the \"Used by\" section for a repository showing the summary of \"13.4m\" with details of 8 avatars and \"+13,435,819.\"](/assets/images/help/repository/used-by-section.png)\n\nThe \"Used by\" section represents a single package from the repository. If you have admin permissions to a repository that contains multiple packages, you can choose which package the \"Used by\" section represents. See [Changing the \"used by\" data for a repository](/en/code-security/how-tos/view-and-interpret-data/change-used-by-data).\n\n## What you can do with the dependency graph\n\nYou can use the dependency graph to:\n\n* Explore the repositories your code depends on, and those that depend on it. For more information, see [Exploring the dependencies of a repository](/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository).\n* View a summary of the dependencies used in your organization's repositories in a single dashboard. For more information, see [Viewing insights for dependencies in your organization](/en/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-dependencies-in-your-organization#viewing-organization-dependency-insights).\n* View and update vulnerable dependencies for your repository. For more information, see [About Dependabot alerts](/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).\n* See information about vulnerable dependencies in pull requests. For more information, see [Reviewing dependency changes in a pull request](/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request).\n* Export a software bill of materials (SBOM) for audit or compliance purposes. This is a formal, machine-readable inventory of a project's dependencies. See [Exporting a software bill of materials for your repository](/en/code-security/how-tos/secure-your-supply-chain/establish-provenance-and-integrity/exporting-a-software-bill-of-materials-for-your-repository).\n\n## Further reading\n\n* [Dependency graph](https://en.wikipedia.org/wiki/Dependency_graph) on Wikipedia\n* [Exploring the dependencies of a repository](/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository)\n* [Viewing and updating Dependabot alerts](/en/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)\n* [Vulnerable dependency detection](/en/code-security/dependabot/troubleshooting-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies)"}