gloader (v.1.0.0)
A lightweight, flexible environment variable loader for Go.
Supports loading from .env
files or any io.Reader
source (such as strings, network streams, or in-memory data).

Features
- Load env vars from one or more
io.Reader
s
- Automatically falls back to
.env
file in none are provided
- Supports panicking or fallback lookups
- Simple API for flexible integration
- No external dependencies
Installation
go get github.com/RecursionExcursion/gloader
Usage
Load from default .env
file
loader := &gloader.EnvLoader{}
_ = loader.LoadEnv()
foo := loader.MustGet("FOO")
Load from custom readers (in-memory)
r1 := strings.NewReader("FOO=bar")
r2 := strings.NewReader("BAR=baz")
loader := &gloader.EnvLoader{}
_ = loader.LoadEnv(r1, r2)
fmt.Println(os.Getenv("FOO")) // bar
Get API
loader.Get("FOO") // string, error
loader.MustGet("FOO") // string, panics if missing
loader.GetOrFallback("FOO", "x") // string, returns fallback
loader.GetOrDefault("FOO") // string, returns ""
Each line should follow:
KEY=VALUE
Lines starting with #
are ignored. Whitespace is trimmed.
License
MIT License © 2025 RecursionExcursion(https://github.com/RecursionExcursion)
See LICENSE for details.