gommon

module
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2018 License: MIT

README

Gommon - Go common libraries

GoDoc Build Status codecov Go Report Card codebeat badge Sourcegraph FOSSA Status

Gommon is a collection of common util libraries written in Go.

It has the following components:

  • errors Typed error with context, multi error
  • generator Render go template, generate methods for logger interface based on gommon.yml
  • log A Javaish logger for Go, application can set level for their dependencies based on package, struct
  • noodle Embed static assets for web application with .noodleignore support
  • requests A pythonic wrapper for net/http, HTTP for Gopher
  • cast Convert Golang types using intermediate format like JSON
  • structure Bring data structure like Set etc. to Golang
  • util A collection of utils

Legacy

  • config v1 A YAML config reader with template support
  • log v1 A logrus like structured logger
  • Runner A os/exec wrapper

Dependencies

Currently we only have one non standard library dependencies (cmd and examples are not considered), see Gopkg.lock

  • go-yaml/yaml for read config written in YAML
    • we don't need most feature of YAML, and want to have access to the parser directly to report which line has incorrect semantic (after checking it in application).
      • might write one in ANTLR
    • we also have a DSL work in progress RCL: Reika Configuration Language, which is like HCL

Removed

  • pkg/errors for including context in error
    • removed in #59
    • replaced by gommon/errors

Development

License

MIT

FOSSA Status

Contribution

Currently, gommon is in a very violate state, please open issues after it becomes stable.

About

Gommon is inspired by many existing libraries, attribution and comparision can be found in doc/attribution.

Gommon was part of Ayi and split out for wider use. The name Gommon is suggested by @arrowrowe. The original blog post can be found in dongyue web's blog. Thanks all the folks in @dyweb especially @gaocegege for their support in early development.

Directories

Path Synopsis
cmd
gommon command
gommon is the commandline util for generator
gommon is the commandline util for generator
Package errors provides multi error, error wrapping.
Package errors provides multi error, error wrapping.
Package generator render go template, call external commands, generate gommon specific methods based on gommon.yml
Package generator render go template, call external commands, generate gommon specific methods based on gommon.yml
Package legacy contains deprecated gommon packages
Package legacy contains deprecated gommon packages
config
Package config supports go text/template, environment and self defined variables
Package config supports go text/template, environment and self defined variables
log
Package log(Deprecated) can filter log by field and support multiple level
Package log(Deprecated) can filter log by field and support multiple level
runner
Package runner(Deprecated) run commands with some convention
Package runner(Deprecated) run commands with some convention
log
Package log provides structured logging with fine grained control over libraries using a tree hierarchy of loggers.
Package log provides structured logging with fine grained control over libraries using a tree hierarchy of loggers.
handlers/cli
Package cli writes is same as builtin IOHandler except color and delta time.
Package cli writes is same as builtin IOHandler except color and delta time.
handlers/json
Package json writes log in JSON format, it concatenates string directly and does not use encoding/json.
Package json writes log in JSON format, it concatenates string directly and does not use encoding/json.
Package noodle helps embedding static assets into go binary, it supports using ignore file
Package noodle helps embedding static assets into go binary, it supports using ignore file
_examples/embed command
_examples/embed/gen
Code generated by gommon from config/gommon.yml DO NOT EDIT.
Code generated by gommon from config/gommon.yml DO NOT EDIT.
_examples/local command
Package playground is used for testing out issues and language features
Package playground is used for testing out issues and language features
issue_noodle_50 command
for i, ele := range slice is reusing same struct https://github.com/dyweb/gommon/issues/50
for i, ele := range slice is reusing same struct https://github.com/dyweb/gommon/issues/50
Package requests is a wrapper around net/http with less public global variables Package requests wrap net/http like requests did for python it is easy to use, but not very efficient
Package requests is a wrapper around net/http with less public global variables Package requests wrap net/http like requests did for python it is easy to use, but not very efficient
Package structure add some missing common data structures to Golang
Package structure add some missing common data structures to Golang
Package util contains helpers
Package util contains helpers
cast
Package cast convert types safely and drop incompatible types during conversion it is inspired by https://github.com/spf13/cast
Package cast convert types safely and drop incompatible types during conversion it is inspired by https://github.com/spf13/cast
color
Package color defines color code for pretty print in linux shell, windows is not supported
Package color defines color code for pretty print in linux shell, windows is not supported
fsutil
Package fsutil adds ignore support for walk
Package fsutil adds ignore support for walk
hashutil
Package hashutil provides alloc free alternatives for pkg/hash
Package hashutil provides alloc free alternatives for pkg/hash
logutil
Package logutil is a registry of loggers, it is required for all lib and app that use gommon/log.
Package logutil is a registry of loggers, it is required for all lib and app that use gommon/log.
runtimeutil
Package runtimeutil provides wrapper to get caller, stack etc.
Package runtimeutil provides wrapper to get caller, stack etc.
testutil
Package testutil defines helper functions that fails test instead of return error
Package testutil defines helper functions that fails test instead of return error

Jump to

Keyboard shortcuts

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