MCPcopy Index your code
hub / github.com/andy2046/gopie

github.com/andy2046/gopie @v0.7.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.7.0 ↗ · + Follow
595 symbols 2,047 edges 81 files 280 documented · 47%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

A collection of idiomatic patterns for Go language.

gopie

Patterns

Pattern Description Status
Barrier Prevents a process from proceeding until all N processes reach to the barrier
Deadline Implements Deadline pattern
DRF Implements Dominant Resource Fairness
JumpHash Provides a jump consistent hash implementation
LRU Implements a LRU cache
Publish/Subscribe Passes information to a collection of recipients who subscribed to a topic
RingHash Provides a ring hash implementation
Semaphore Allows controlling access to a common resource
Singleton Restricts instantiation of a type to one object
Subsetting Implements client deterministic subsetting
SkipList Implements Skip List data structure
BloomFilter Implements Bloom filter
Count-Min Sketch Implements Count-Min Sketch
HyperLogLog Implements HyperLogLog cardinality estimation
Circuit Breaker Implements Circuit Breaker
Rate Limiter Implements Rate Limiter
Bit Flag Implements Bit Flag
Base58 Implements Base58 Encoder
Sequence Implements snowflake similar sequence generator

Extension points exported contracts — how you extend this code

Bloom (Interface)
Bloom is the standard bloom filter. [3 implementers]
pkg/bloom/bloom.go
Queue (Interface)
Queue represents the queue with Get / Put / Close methods. [2 implementers]
pkg/multilane/multilane.go
Sequencer (Interface)
Sequencer is the interface for sequence generator. [2 implementers]
pkg/sequence/sequencer.go
ISemaphore (Interface)
ISemaphore is the semaphore interface. [1 implementers]
pkg/semaphore/semaphore.go
Logger (Interface)
Logger is the Logging interface. [1 implementers]
pkg/log/log.go
Store (Interface)
Store represents a store for limiter state. [1 implementers]
pkg/ratelimit/sliding_window.go
Hash (FuncType)
Hash is the hash function.
pkg/ringhash/ringhash.go
CountingBloom (Interface)
CountingBloom is the bloom filter which allows deletion of entries. Take note that an 16-bit counter is maintained for e [1 …
pkg/bloom/bloom.go

Core symbols most depended-on inside this repo

Errorf
called by 95
pkg/log/log.go
Add
called by 83
pkg/bloom/bloom.go
Error
called by 55
pkg/log/log.go
Done
called by 47
pkg/ringhash/ringhash.go
Unlock
called by 43
pkg/nocopy/nocopy.go
Lock
called by 39
pkg/nocopy/nocopy.go
Exist
called by 34
pkg/bloom/bloom.go
Wait
called by 31
pkg/ratelimit/ratelimit.go

Shape

Method 287
Function 230
Struct 62
Interface 8
TypeAlias 7
FuncType 1

Languages

Go100%

Modules by API surface

pkg/bloom/bloom.go31 symbols
pkg/log/log.go29 symbols
pkg/pubsub/pubsub.go22 symbols
pkg/ringhash/ringhash.go21 symbols
pkg/breaker/breaker.go21 symbols
pkg/ratelimit/sliding_window.go19 symbols
pkg/dll/dll.go18 symbols
pkg/ratelimit/ratelimit.go16 symbols
pkg/multilane/multilane.go15 symbols
pkg/drf/drf.go14 symbols
pkg/bloom/bloombit.go14 symbols
pkg/countminsketch/countmin.go13 symbols

For agents

$ claude mcp add gopie \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact