About GitHub Package Registry
GitHub Package Registry is a software package hosting service, similar to npmjs.org, rubygems.org, or hub.docker.com, that allows you to host your packages and code in one place. You can host software packages privately or publicly and use them as dependencies in your projects.
GitHub Package Registry is currently available in a limited public beta. To request to join the limited public beta, see the GitHub Package Registry page.
In this article
- About GitHub Package Registry
- Supported clients and formats
- Searching packages on GitHub
- Deleting a package
- Contacting support
About GitHub Package Registry
GitHub Package Registry allows you to develop your code and host your packages in one place. You can use packages from GitHub Package Registry as a dependency in your source code on GitHub.
GitHub uses the README in your repository to generate the package's description, and you can edit it to reflect details about the package or installation process. GitHub adds metadata for each package version that includes links to the author, repository, commit SHA, version tags, and date. To see an example registry package page, see the @Codertocat/hello-world-npm package.
These are some examples of how GitHub Package Registry might benefit your workflow:
- Secure and compliant: Develop, maintain, and store your packages in the same secure environment with a single login.
- Private and public software packages: You can host packages privately or make them public. You can host packages privately and share them with your coworkers or organization, or make them public for the entire world.
- Unified permissions management: GitHub Package Registry inherits the permissions of the repository, consolidating the setup and maintenance, and reducing security risks.
- Multi-format: You can host multiple software package types in one registry.
- Visibility into packages: Gain insights into packages by viewing the package contents, download statistics, version history, and more.
- Workflow integration: Create an end-to-end DevOps workflow that includes your code, CI, and deployment solutions by integrating with GitHub APIs, GitHub Actions, and webhooks.
Supported clients and formats
GitHub Package Registry uses the native package tooling commands you're already familiar with to publish, query, download, and change package versions.
GitHub Package Registry currently supports these clients and formats.
|Package client||Package format||Description|
||Ruby Gem Package manager for Ruby. For more information, see "Configuring RubyGems for use with GitHub Package Registry."|
||Apache Maven Project management and comprehension tool for Java. For more information, see "Configuring Apache Maven for use with GitHub Package Registry."|
||Docker container management platform. For more information, see "Configuring Docker for use with GitHub Package Registry."|
||NuGet package management for .NET. For more information, see "Configuring NuGet for use with GitHub Package Registry."|
Searching packages on GitHub
You can search for packages on GitHub by navigating to https://github.com/search and entering a package name.
To view registry packages, click Packages in the left sidebar.
Deleting a package
To avoid breaking projects that may depend on your packages, GitHub Package Registry does not support package deletion or deleting a version of a package. Under special circumstances, such as for legal reasons or to conform with GDPR standards, you can request deleting a package through GitHub Support. Contact GitHub Support using our contact form and the subject line "GitHub Package Registry."
If you're a participant in the limited public beta, please contact GitHub Support using our contact form and the subject line "GitHub Package Registry."
If you're not currently participating in the limited public beta, you can request to join the limited public beta on the GitHub Package Registry page.