Introducing the pkg.go.dev API

26 points by jmillikin a day ago on lobsters | 10 comments

kiyurica | a day ago

Developers building tools, IDE integrations, and automated workflows have historically relied on fragile workarounds like web scraping to access this data.

Why don't these tools go get the package and run toolchain tools like go doc on them?

weberc2 | a day ago

You would have to download every public package and do a bunch of compute on them to be able to identify what packages depend on a particular package. Also, having to download the source code in the first place to answer metadata questions is a waste.

scraps | 17 hours ago

wouldn’t you just download and process the go.mod file for each one

klingtnet | a day ago

While this sounds like a straightforward option, one argument I can imagine for scraping pkg.go.dev is that this avoids downloading the package and cluttering the GOPATH with it.

sugaryboa | 14 hours ago

Because they are not written in go and don't want to be tied to a specific implementation of a protocol.

sigmonsez | 23 hours ago

this is really awesome, helps a lot with tooling which will has become more critical lately

eranb | a day ago

Really cool that they expose symbols and imported-by. Hopefully replacing what a lot of tools and data aggregators do in downloading all the binaries and analysing them.

sugaryboa | 14 hours ago

Is it still not possible to download a go package in the standard UNIX tarball form: package-name-version.tar.gz ?

sinclairtarget | a day ago

I'm excited about this because I have never been able to get the "/" shortcut (for searching) to work on pkg.go.dev in Firefox. Am I the only one? It works in Chrome, which makes me want to get out my tin foil hat.

Maybe this means someone will create a TUI or desktop app for browsing packages that I can use instead.

mdaniel | a day ago

The behavior you're experiencing is happening "locally," in your copy of Firefox, and is not pkg.go.dev's fault. You will experience it on the front page of https://lobste.rs/ which I doubt very seriously is in the pocket of Big Chromium