DEV Community

Peter Kim Frank
Peter Kim Frank

Posted on

GitHub announces GitHub Package Registry

GitHub just announced GitHub Package Registry. They set up an info page you can check out: https://github.com/features/package-registry

Follow Tierney Cyren (@bnb) on Twitter to follow along live.


What are your reactions to the announcement?

Latest comments (25)

Collapse
 
_adrian_e_ profile image
Adrian E. • Edited

Well it's the next step. I like the idea of that. Especially when its integrated directly in pip or npm :)

On pip I could also install private repos. Maybe its more comfortable in the future

pip3 install -U 'git+ssh://git@github.com/...'
Collapse
 
drupalistabr profile image
Francisco Luz

Will it support php's packagist?

Collapse
 
steveblue profile image
Stephen Belovarich

Great! So when Github goes down I can no longer run ‘npm install’. No thank you. There are times when decentralization is a good thing.

Collapse
 
theodesp profile image
Theofanis Despoudis

We will see how it goes. I think the Docker and Npm registry is a good option.

Collapse
 
tbroyer profile image
Thomas Broyer

A really good thing for private registries (particularly for Maven, can't really tell for others), but likely to make things harder for consumers of public artifacts, so public projects should avoid that feature (unless maybe it's coupled with bot to auto-deploy to public central registries)

Collapse
 
victorb profile image
Victor Bjelkholm

I wrote a direct reply to these news here: dev.to/victorb/the-everlong-quest-...

TLDR: GitHub Package Registry is great, but not enough to make sure we get a solid package registry for the long-term.

Collapse
 
florimondmanca profile image
Florimond Manca • Edited

At first I was quite worried that Microsoft would be gaining even more monopoly on the developer workflow, but then I realized that this wouldn’t be competing with existing tools, but only be there as another location from which packages can be downloaded from.

I think for the general public this doesn’t solve any actual problem, because you don’t want your users to have to install your specific package from say registry.github.com instead of registry.npmjs.org (which I think is the default for JavaScript).

For businesses and private enterprise usage however, I can totally see how this would solve the problem of sharing private packages across teams.

In Python in particular, you can specify the registry once and for all in the Pipfile (provided you’re using Pipenv). The default PyPI index is already listed so you just have to swap it for yours, and there you go!

So I guess this is a nice feature that some people may find useful, but that won’t change the way people do open source.

 
yaser profile image
Yaser Al-Najjar • Edited

I'm not familiar with Java tooling, but I read about it and it seems like nexus.

If you're familiar with docker it's like a docker registry.

I think the unique value here is that it's a cloud based solution from the mighty Github.

Thread Thread
 
elmuerte profile image
Michiel Hendriks

Both sonatype (makers of maven, Nexus, and maintainers of central report) and jfrog (makers of artifactory) have cloud based solutions.
But they are mostly not gratis.

Collapse
 
cjbrooks12 profile image
Casey Brooks

I love the idea of having releases strongly tied to actual git commits/ tags. With Actions, I can see a near future where you can verify a given release is exactly what is in the repo. GitHub would know that a given artifact was released from an action and can verify "this artifact was the result of a build on the push of this commit".

Collapse
 
ryansmith profile image
Ryan Smith • Edited

Assuming I understand package registries, I'm not sure what problem GitHub is trying to solve with their own package registry. Is the point of this so that your source code will be on GitHub and the package will also be published there, so it is a "one-stop shop"? Will I still need to use npm's/yarn's CLI for JavaScript, but change where it downloads the packages from? If I understand that correctly, it would seem like a hassle if only some packages I am using are on GitHub's registry, but all of them are on npm's registry. Wouldn't it make sense just to use npm?

Is this more beneficial to enterprise customers that already use GitHub for their code so that they can have their private packages published in GitHub's registry instead of npm Enterprise or setting up and maintaining their own registry?

Collapse
 
bhupesh profile image
Bhupesh Varshney 👾

No support for Python 😥😥

Collapse
 
coreyja profile image
Corey Alexander

After reading the feature page quickly I think one of their big benefits is gonna be for businesses that want to have a private hosted registry.
I know that's something we've wanted before at my company, and I could see us easily adopting this product since it fits into Githubs existing security model.

Not sure I'll use it personally, but if it gains momentum maybe I'll push to this to as a second registry :shrug:

Collapse
 
coreyja profile image
Corey Alexander

So it only took a day for me to realize that I would actually like this personally too 😆

So now I just have to wait patiently for my beta invite!

Collapse
 
gypsydave5 profile image
David Wickes

What are your reactions to the announcement?

Collapse
 
rhymes profile image
rhymes

same :D

it seems great for big co's that have private packages shared among teams though!

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

This ^

Collapse
 
laurieontech profile image
Laurie

It will be hard to pick up steam with initial adoption even if there is good reason.

Collapse
 
andy profile image
Andy Zhao (he/him)

I actually have no idea what a package registry is, or what it does. I read this article on Tech Crunch and still am not really sure what it means: techcrunch.com/2019/05/10/github-g...

An "explain like I'm five" would be greatly appreciated! 🙇‍♂️

Collapse
 
yaser profile image
Yaser Al-Najjar • Edited

Let's say you're working in a restaurant...

You, as a chef, don't wanna take the recipes from other chefs and cook it by yourself everytime you wanna create that delicious plate (that needs many recipes).

You would love if you had a kitchen that serves some ready-to-eat commodity food and compose it into your special plate.

Now, the lovely thing about that kitchen is that it keeps old commidity food with labels because some chefs prefer the old taste of that commodity food, and the kitchen is only allowed to enter for the chefs of that restaurant (because you don't wanna share your trade secrets with other restaurants).

Now change the above story wording:

Restaruant = your organization

Chefs = other developers/teams in your organizations

Recipe = package code (raw)

Kitchen = registry

Commodity food = packages (ready to be consumed)

Plate = your app

Labels = versions of those packages (to ensure new version won't affect apps using previous version of that package)

Collapse
 
hellovietduc profile image
Duc Nguyen

So isn't it like npm registry?

Thread Thread
 
yaser profile image
Yaser Al-Najjar

Yes, it is like npm registry...

But, they say it supports all shapes and colors of registries (npm, maven, nuget... etc).

Collapse
 
jckuhl profile image
Jonathan Kuhl

A good analogy and precisely why I'm looking forward to it.