Packages github.com/rogpeppe/go-internal/... represent an opinionated selection of internal packages and functionality factored out from the Go standard library and cmd/go. This work was started by Roger Peppe, with contributions from Daniel Martí and myself.

It includes:

  • cache: Package cache implements a build artifact cache.
  • cmd/testscript: Package testscript provides support for defining filesystem-based tests by creating scripts in a directory.
  • lockedfile: Package lockedfile creates and manipulates files whose contents should only change atomically.
  • modfile: Package modfile implements parsing and formatting for go.mod files.
  • module: Package module defines the module.Version type along with support code.
  • par: Package par implements parallel execution helpers.
  • renameio: Package renameio writes files atomically by renaming temporary files.
  • semver: Package semver implements comparison of semantic version strings.
  • testscript: Package testscript provides support for defining filesystem-based tests by creating scripts in a directory.
  • txtar: Package txtar implements a trivial text-based file archive format.

See the docs for github.com/rogpeppe/go-internal for a more current and complete list.

Issues #28101 and #31761 track the more official exporting of these packages.