go4.org

module
v0.0.0-...-2148625 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2023 License: Apache-2.0

README

go4

travis badge

go4.org is a collection of packages for Go programmers.

They started out living in Perkeep's repo and elsewhere but they have nothing to do with Perkeep, so we're moving them here.

Details

  • single repo. go4 is a single repo. That means things can be changed and rearranged globally atomically with ease and confidence.

  • no backwards compatibility. go4 makes no backwards compatibility promises. If you want to use go4, vendor it. And next time you update your vendor tree, update to the latest API if things in go4 changed. The plan is to eventually provide tools to make this easier.

  • forward progress because we have no backwards compatibility, it's always okay to change things to make things better. That also means the bar for contributions is lower. We don't have to get the API 100% correct in the first commit.

  • no Go version policy go4 packages are usually built and tested with the latest Go stable version. However, go4 has no overarching version policy; each package can declare its own set of supported Go versions.

  • code review contributions must be code-reviewed. We're trying out Gerrithub, to see if we can find a mix of Github Pull Requests and Gerrit that works well for many people. We'll see.

  • CLA compliant contributors must agree to the Google CLA (the same as Go itself). This ensures we can move things into Go as necessary in the future. It also makes lawyers at various companies happy. The CLA is not a copyright assignment; you retain the copyright on your work. The CLA just says that your work is open source and you have permission to open source it. See https://golang.org/doc/contribute.html#cla

  • docs, tests, portability all code should be documented in the normal Go style, have tests, and be portable to different operating systems and architectures. We'll try to get builders in place to help run the tests on different OS/arches. For now we have Travis at least.

Contact

For any question, or communication when a Github issue is not appropriate, please contact the Perkeep mailing list.

Directories

Path Synopsis
Package bytereplacer provides a utility for replacing parts of byte slices.
Package bytereplacer provides a utility for replacing parts of byte slices.
cloud
cloudlaunch
Package cloudlaunch helps binaries run themselves on The Cloud, copying themselves to GCE.
Package cloudlaunch helps binaries run themselves on The Cloud, copying themselves to GCE.
google/gceutil
Package gceutil provides utility functions to help with instances on Google Compute Engine.
Package gceutil provides utility functions to help with instances on Google Compute Engine.
google/gcsutil
Package gcsutil provides tools for accessing Google Cloud Storage until they can be completely replaced by cloud.google.com/go/storage.
Package gcsutil provides tools for accessing Google Cloud Storage until they can be completely replaced by cloud.google.com/go/storage.
Package ctxutil contains golang.org/x/net/context related utilities.
Package ctxutil contains golang.org/x/net/context related utilities.
Package errorutil helps make better error messages.
Package errorutil helps make better error messages.
Package fault handles fault injection for testing.
Package fault handles fault injection for testing.
grpc module
grpc-codegen module
intern module
Package jsonconfig defines a helper type for JSON objects to be used for configuration.
Package jsonconfig defines a helper type for JSON objects to be used for configuration.
Package legal provides in-process storage for compiled-in licenses.
Package legal provides in-process storage for compiled-in licenses.
Package lock is a file locking library.
Package lock is a file locking library.
media
heif
Package heif reads HEIF containers, as found in Apple HEIC/HEVC images.
Package heif reads HEIF containers, as found in Apple HEIC/HEVC images.
heif/bmff
Package bmff reads ISO BMFF boxes, as used by HEIF, etc.
Package bmff reads ISO BMFF boxes, as used by HEIF, etc.
heif/dumpheif
The dumpheif program dumps the structure and metadata of a HEIF file.
The dumpheif program dumps the structure and metadata of a HEIF file.
mem module
Package must contains helpers that panic on failure.
Package must contains helpers that panic on failure.
net
throttle
Package throttle provides a net.Listener that returns artificially-delayed connections for testing real-world connectivity.
Package throttle provides a net.Listener that returns artificially-delayed connections for testing real-world connectivity.
netipx module
Package oauthutil contains OAuth 2 related utilities.
Package oauthutil contains OAuth 2 related utilities.
Package osutil contains os level functions.
Package osutil contains os level functions.
Package readerutil provides and operates on io.Readers.
Package readerutil provides and operates on io.Readers.
singlereader
package singlereader provides Open and Close operations, reusing existing file descriptors when possible.
package singlereader provides Open and Close operations, reusing existing file descriptors when possible.
Package reflectutil contains reflect utilities.
Package reflectutil contains reflect utilities.
Package rollsum implements rolling checksums similar to apenwarr's bup, which is similar to librsync.
Package rollsum implements rolling checksums similar to apenwarr's bup, which is similar to librsync.
Package sort provides primitives for sorting slices and user-defined collections.
Package sort provides primitives for sorting slices and user-defined collections.
Package strutil contains string and byte processing functions.
Package strutil contains string and byte processing functions.
Package syncutil provides various synchronization utilities.
Package syncutil provides various synchronization utilities.
singleflight
Package singleflight provides a duplicate function call suppression mechanism.
Package singleflight provides a duplicate function call suppression mechanism.
syncdebug
Package syncdebug contains facilities for debugging synchronization problems.
Package syncdebug contains facilities for debugging synchronization problems.
testing
functest
Package functest contains utilities to ease writing table-driven tests for pure functions and method.
Package functest contains utilities to ease writing table-driven tests for pure functions and method.
Package types provides various common types.
Package types provides various common types.
unsafe
Package wkfs implements the pluggable "well-known filesystem" abstraction layer.
Package wkfs implements the pluggable "well-known filesystem" abstraction layer.
gcs
Package gcs registers a Google Cloud Storage filesystem at the well-known /gcs/ filesystem path if the current machine is running on Google Compute Engine.
Package gcs registers a Google Cloud Storage filesystem at the well-known /gcs/ filesystem path if the current machine is running on Google Compute Engine.
Package writerutil contains io.Writer types.
Package writerutil contains io.Writer types.
Package xdgdir implements the Free Desktop Base Directory specification for locating directories.
Package xdgdir implements the Free Desktop Base Directory specification for locating directories.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL