Skip to content

Seigen v1.0.0

Choose a tag to compare

@JhayceeCodes JhayceeCodes released this 15 Sep 08:52

Seigen v1.0.0

Initial public release of Seigen, a lightweight, configurable rate-limiting library for Go.

Highlights

  • Token Bucket
  • Leaky Bucket
  • Fixed Window
  • Sliding Window Log
  • Sliding Window Counter
  • Individual rate-limit policies
  • Policy groups with individual-policy precedence
  • Application-defined identifiers through IdentifierResolver
  • Concurrent-safe runtime limiting
  • In-memory policy repositories
  • PostgreSQL policy repositories
  • Pluggable policy storage
  • RateLimitService for policy resolution and evaluation

Validation

The release was validated with:

  • go test ./...
  • go test -race ./...
  • go vet ./...
  • External integration against the public Seigen module

The external integration verifies individual policies, policy groups, policy precedence, application-defined identifiers, and independent API-key/IP rate limits.

Installation

Install Seigen v1.0.0 with:

go get github.com/JhayceeCodes/seigen@v1.0.0