An open API service indexing awesome lists of open source software.

https://github.com/thatgolangguy/goswiss

The Missing Tools for Your Go Toolbox
https://github.com/thatgolangguy/goswiss

go golang-package toolset

Last synced: 12 months ago
JSON representation

The Missing Tools for Your Go Toolbox

Awesome Lists containing this project

README

          


goswiss logo

# goswiss ๐Ÿ› ๏ธ

[![Go Reference](https://pkg.go.dev/badge/github.com/thatgolangguy/goswiss.svg)](https://pkg.go.dev/github.com/thatgolangguy/goswiss)
[![Go Report Card](https://goreportcard.com/badge/github.com/thatgolangguy/goswiss)](https://goreportcard.com/report/github.com/thatgolangguy/goswiss)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

#### โš ๏ธ WIP: Do not use/integrate right now.

> The Swiss Army knife of Go. Utility functions that make Go dev smoother, safer, and snappier.

---

## โœจ Features

- ๐Ÿ” Retry logic with backoff and customizable attempts
- โœ‚๏ธ Slice utilities: chunking, deduplication, etc.
- ๐Ÿ“‚ File readers for JSON, XML, CSV
- ๐Ÿงช Panic-safe function wrappers
- ๐Ÿงน Data cleaners & formatters (WIP)
- ๐Ÿ“ฆ Modular, idiomatic, zero-dependency tools

---

## ๐Ÿ“ฆ Install

```bash
go get github.com/thatgolangguy/goswiss
```

## ๐Ÿค Contributing

**We want your knives!** ๐Ÿ› ๏ธ๐Ÿงค
`goswiss` is meant to be a growing collection of essential Go utilities, the kind that save you time and headaches.

If you've ever copied a helper function between Go projects, it probably belongs here.

### ๐Ÿ™Œ How You Can Help:
- Add utility functions (e.g. `Map`, `Filter`, `RetryUntil`, `Parallel`)
- Improve test coverage and edge case handling
- Add support for more file formats (YAML, INI, TOML, etc.)
- Write clean, idiomatic docs and examples
- Suggest use cases and ergonomic APIs
- Spot bugs or design flaws โ€” we want battle-tested code

> PRs welcome. Just keep it idiomatic, simple, and Go-like.

---