Skip to content

RecursionExcursion/gloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go logo 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).

Go License: MIT


Features

  • Load env vars from one or more io.Readers
  • 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 ""

.env Format

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages