Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a table with GO libraries to "IPFS in GO" page #1208

Closed
lidel opened this issue Jul 20, 2022 · 0 comments · Fixed by #1231
Closed

Add a table with GO libraries to "IPFS in GO" page #1208

lidel opened this issue Jul 20, 2022 · 0 comments · Fixed by #1231
Labels
dif/easy Someone with a little familiarity can pick up effort/hours Estimated to take one or several hours P2 Medium: Good to have, but can wait until someone steps up

Comments

@lidel
Copy link
Member

lidel commented Jul 20, 2022

After #1185 lands, we will have "IPFS in GO" page (same content as https://docs.ipfs.io/reference/go/api/).

I think it is a good place to point people at all the Go libraries available.

We already had prior art content in Kubo README (copy below). Moving it to docs is a good idea.

Packages

This table is generated using the module package-table with package-table --data=package-list.json.
Listing of the main packages used in the IPFS ecosystem. There are also three specifications worth linking here:

Name CI/Travis Coverage Description
Libp2p
go-libp2p Travis CI codecov p2p networking library
go-libp2p-pubsub Travis CI codecov pubsub built on libp2p
go-libp2p-kad-dht Travis CI codecov dht-backed router
go-libp2p-pubsub-router Travis CI codecov pubsub-backed router
Multiformats
go-cid Travis CI codecov CID implementation
go-multiaddr Travis CI codecov multiaddr implementation
go-multihash Travis CI codecov multihash implementation
go-multibase Travis CI codecov mulitbase implementation
Files
go-unixfs Travis CI codecov the core 'filesystem' logic
go-mfs Travis CI codecov a mutable filesystem editor for unixfs
go-ipfs-posinfo Travis CI codecov helper datatypes for the filestore
go-ipfs-chunker Travis CI codecov file chunkers
Exchange
go-ipfs-exchange-interface Travis CI codecov exchange service interface
go-ipfs-exchange-offline Travis CI codecov (dummy) offline implementation of the exchange service
go-bitswap Travis CI codecov bitswap protocol implementation
go-blockservice Travis CI codecov service that plugs a blockstore and an exchange together
Datastores
go-datastore Travis CI codecov datastore interfaces, adapters, and basic implementations
go-ipfs-ds-help Travis CI codecov datastore utility functions
go-ds-flatfs Travis CI codecov a filesystem-based datastore
go-ds-measure Travis CI codecov a metric-collecting database adapter
go-ds-leveldb Travis CI codecov a leveldb based datastore
go-ds-badger Travis CI codecov a badgerdb based datastore
Namesys
go-ipns Travis CI codecov IPNS datastructures and validation logic
Repo
go-fs-lock Travis CI codecov lockfile management functions
fs-repo-migrations Travis CI codecov repo migrations
IPLD
go-block-format Travis CI codecov block interfaces and implementations
go-ipfs-blockstore Travis CI codecov blockstore interfaces and implementations
go-ipld-format Travis CI codecov IPLD interfaces
go-ipld-cbor Travis CI codecov IPLD-CBOR implementation
go-ipld-git Travis CI codecov IPLD-Git implementation
go-merkledag Travis CI codecov IPLD-Merkledag implementation (and then some)
Commands
go-ipfs-cmds Travis CI codecov CLI & HTTP commands library
go-ipfs-files Travis CI codecov CLI & HTTP commands library
go-ipfs-api Travis CI codecov an old, stable shell for the IPFS HTTP API
go-ipfs-http-client Travis CI codecov a new, unstable shell for the IPFS HTTP API
interface-go-ipfs-core Travis CI codecov core go-ipfs API interface definitions
Metrics & Logging
go-metrics-interface Travis CI codecov metrics collection interfaces
go-metrics-prometheus Travis CI codecov prometheus-backed metrics collector
go-log Travis CI codecov logging framework
Generics/Utils
go-ipfs-routing Travis CI codecov routing (content, peer, value) helpers
go-ipfs-util Travis CI codecov the kitchen sink
go-ipfs-addr Travis CI codecov utility functions for parsing IPFS multiaddrs

For brevity, we've omitted most go-libp2p, go-ipld, and go-multiformats packages. These package tables can be found in their respective project's READMEs:

@lidel lidel added the need/triage Needs initial labeling and prioritization label Jul 20, 2022
@johnnymatthews johnnymatthews added dif/easy Someone with a little familiarity can pick up P2 Medium: Good to have, but can wait until someone steps up effort/hours Estimated to take one or several hours and removed need/triage Needs initial labeling and prioritization labels Jul 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dif/easy Someone with a little familiarity can pick up effort/hours Estimated to take one or several hours P2 Medium: Good to have, but can wait until someone steps up
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants