Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grokify/mogo
A collection of small DRY Go utilities to make life easier. DRY = Don't Repeat Yourself.
https://github.com/grokify/mogo
go golang utilities utility-library
Last synced: 10 days ago
JSON representation
A collection of small DRY Go utilities to make life easier. DRY = Don't Repeat Yourself.
- Host: GitHub
- URL: https://github.com/grokify/mogo
- Owner: grokify
- License: mit
- Created: 2015-02-12T09:22:29.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-04-07T12:15:53.000Z (7 months ago)
- Last Synced: 2024-04-08T12:29:09.708Z (7 months ago)
- Topics: go, golang, utilities, utility-library
- Language: Go
- Homepage:
- Size: 2.87 MB
- Stars: 66
- Watchers: 5
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-golang-repositories - mogo
README
MoGo
====[![Build Status][build-status-svg]][build-status-url]
[![Go Report Card][goreport-svg]][goreport-url]
[![CodeClimate][codeclimate-status-svg]][codeclimate-status-url]
[![Docs][docs-godoc-svg]][docs-godoc-url]
[![SLOC][loc-svg]][repo-url]
[![License][license-svg]][license-url]## Overview
The `mogo` (pronounced "Mo Go" for "More Go") package provides a collection of Go utilities for common tasks.
Go is a small language which is useful from a development and maintenance
perspective but it can result in common tasks being more verbose than other
languages where there are more productivity methods. The `mogo` package's
goal is to provide wrappers for common tasks in the same spirit of `io/ioutil`
to make programming Go a bit faster.In terms of scope, `mogo` is designed to cover all common areas, with a move to fewer dependencies.
:warning: `mogo` is in a deconstruction phase. It currently has many dependencies and the goal is to move external dependences to separate packages in the Mogo family.
See the following modules for extended functionality (with more dependencies):
* GoAuth - [github.com/grokify/goauth](https://github.com/grokify/goauth)
* GoCharts - [github.com/grokify/gocharts](https://github.com/grokify/gocharts)
* GoHTTP - [github.com/grokify/gohttp](https://github.com/grokify/gohttp)
* GoNet - [github.com/grokify/gonet](https://github.com/grokify/gonet)
* GoPhoneNumbers - [github.com/grokify/gophonenumbers](https://github.com/grokify/gophonenumbers)## Documentation
Documentation is provided using godoc and available on [GoDoc.org](https://godoc.org/github.com/grokify/mogo).
- [crypto](https://pkg.go.dev/github.com/grokify/mogo/crypto)
- html
- [tokenizer](https://pkg.go.dev/github.com/grokify/mogo/html/tokenizer)
- [io](https://pkg.go.dev/github.com/grokify/mogo/io)
- [log](https://pkg.go.dev/github.com/grokify/mogo/log)
- [net](https://pkg.go.dev/github.com/grokify/mogo/net)
- [net/httputilmore](https://pkg.go.dev/github.com/grokify/mogo/net/httputilmore)
- [net/urlutil](https://pkg.go.dev/github.com/grokify/mogo/net/urlutil)
- [os/osutil](https://pkg.go.dev/github.com/grokify/mogo/os/osutil)
- mime
- [multipart](https://pkg.go.dev/github.com/grokify/mogo/mime/multipart)
- [sort](https://pkg.go.dev/github.com/grokify/mogo/sort)
- [strconv](https://pkg.go.dev/github.com/grokify/mogo/strconv)
- [text](https://pkg.go.dev/github.com/grokify/mogo/text)
- [time](https://pkg.go.dev/github.com/grokify/mogo/time)
- [timeutil](https://pkg.go.dev/github.com/grokify/mogo/time/timeutil)
- [type](https://pkg.go.dev/github.com/grokify/mogo/type)## Installation
```bash
$ go get github.com/grokify/mogo/...
```## SBOM
The SBOM is in the file [`SBOM.spdx.json`]. It is created using GitHub's built-in SBOM feature with the following additions:
1. It is converted to indented JSON for easier reading.
1. The `packages[0].downloadLocation` value as the commit hash added per [https://spdx.github.io/spdx-spec/v2.3/package-information/](downloadLocation).## Credits
See [`CREDITS`](CREDITS.md)
## Contributing
Features, Issues, and Pull Requests are always welcome.
To contribute:
1. Fork it ( http://github.com/grokify/mogo/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull RequestPlease report issues and feature requests on [Github](https://github.com/grokify/mogo).
[used-by-svg]: https://sourcegraph.com/github.com/grokify/mogo/-/badge.svg
[used-by-url]: https://sourcegraph.com/github.com/grokify/mogo?badge
[build-status-svg]: https://github.com/grokify/mogo/workflows/test/badge.svg?branch=master
[build-status-url]: https://github.com/grokify/mogo/actions/workflows/test.yaml
[goreport-svg]: https://goreportcard.com/badge/github.com/grokify/mogo
[goreport-url]: https://goreportcard.com/report/github.com/grokify/mogo
[codeclimate-status-svg]: https://codeclimate.com/github/grokify/mogo/badges/gpa.svg
[codeclimate-status-url]: https://codeclimate.com/github/grokify/mogo
[docs-godoc-svg]: https://pkg.go.dev/badge/github.com/grokify/mogo
[docs-godoc-url]: https://pkg.go.dev/github.com/grokify/mogo
[license-svg]: https://img.shields.io/badge/license-MIT-mogo.svg
[license-url]: https://github.com/grokify/mogo/blob/master/LICENSE
[loc-svg]: https://tokei.rs/b1/github/grokify/mogo
[repo-url]: https://github.com/grokify/mogo