Hacker News new | past | comments | ask | show | jobs | submit login
GitHub Package Registry Will Support Swift Packages (github.blog)
169 points by guessmyname 23 days ago | hide | past | web | favorite | 33 comments

This will go well with Xcode 11 supporting Swift Package Manager natively.


I imagine that's not a coincidence.

It's pretty interesting that Cocoapods got so much flak years ago for basically exploiting Github's bandwidth to host a package registry for the apple ecosystem, and now Github are doing exactly the same as a first class product.

Well part of the (if not THE) reason for that was that they were extremely inefficient in the whole process (complete clones of the master repository including the complete history, although you don't really need that as a cocoapods user).

And it is still inefficient today, considering that an initial pod install takes around 12 minutes just to clone the cocapods repo...

They were actually using shallow clones which were more performance intensive for GitHub’s backend.

How immutable is this registry?

What happens if the owner tries to remove their package, or rename it? or modify it? What if the owner deletes his/her account / organization, or renames user / organization?

The nice thing about many package managers is that they don't allow mutation, removal or renaming of packages. So when you have a lock-file checked into git you can be sure you can fetch all the dependencies again.

I dont think its intended to replace the main package managers as much as to ensure you can deliver a tool you may already be using (GitHub). Especially if you want to ensure you dont accidentally publish production code to one of those package managers e.g. NPM which had a whole debacle about that a few months or a year back.

I hope they will introduce support for Conan/vcpkg C++ packages as well

GitLab is working on support for Conan now. https://gitlab.com/gitlab-org/gitlab-ee/issues/8248

You can just fork vcpkg's repository and have the same effect, though.

As a complete non-techie (anesthesiologist) I thought at first glance at the OP title this was a new rival of Amazon Prime.

Hehe. Packages are the developer term for a reusable piece of software that usually solves one problem.

Is there any reason why Python isn't supported?

Python is coming!

How is the dependency management situation on Python? I have dabbled in Python for a few projects, and it always felt like there was no "right way" to manage dependencies and environment.

it always felt like there was no "right way" to manage dependencies and environment.

That has been a huge problem in the past and it's still somewhat of a problem. However now that pip and virtualenv (renamed venv) are part of the standard python install and pip has gotten a lot better when comes to cross platform installs and handling binary dependencies, hopefully we'll see some more standardization around those tools.

That being said, I use conda for managing dependencies and environment for basically all my python development work and have no complaints.

these days all the tooling you need is shipped with the python standard distribution.

pip: install a package system-wide

venv: create fake system paths locally in your current directory

so do everything within a venv and pin your dependency versions into requirements.txt. i've found it to be exactly as powerful as i need, works out of the box, and it's easy.

I find Pipenv very nice, but it is controversial.

Deb/rpm please!

PPA please :)

This also would be quite interesting. We are baked into another ppa provider as it is. Theres so many GitHub projects that have a ppa setup elsewhere.

If it lives in GH it may as well have a ppa (therefore a deb). I assume programming language packages will be first and later on system level packages if possible?

Cool, now how much longer do I have to wait to use it?

There is a beta going on right now: you can sign up for you place in line.

Great, now you can mix Cocoapods, Carthage, SPM and github!

Looks like it works with SPM unless I'm mistaken.

Yep - GitHub Package Registry is a set of registries. It should plan nice with as many package managers as possible

Oh... that's a great move in the right direction then.


Do you think ms is angling to “extinguish” Apple here?

No.. package managers / GitHub is the play here.

No.. package managers / GitHub is the play here.

So MS is attempting to extinguish GitHub, a property they own, now? Or is MS embracing blah blah blah the concept of package management?

Why would anyone say this?

No.. they buy GitHub so they own pretty much most of open source software. Embrace.

Then they release a new package registry, one to rule them all, it supports all the things. Extend.

Extinguish, I don't know, that's why I asked the question, I don't know what the play here is.

Is it simply they now fully control distribution?

This doesn't sound like an issue until we're 10 years down the line and nobody creates package managers anymore. Nobody mirrors Linux, and everything has to go through GitHub.

Like I would think this is my own bias, and it certainly sounds tinfoil hattish to even me, but then I haven't forgotten those memos. Have you?

Package managers have their own servers so I am pretty sure that wont be happening. As for GitHub I have a feeling Microsoft is burning money on GitHub without too much expected back outside of meeting their goals to empower devs.

It need a better name. Gems, maven etc like. Sgpm could be a starting point.

Just can’t imagine anyone would remember without a good name.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact