# coleifer/walrus

Lightweight Python utilities for working with Redis

Repository: https://github.com/coleifer/walrus
Canonical: https://ross.abutalabs.com/products/coleifer-walrus
Homepage: https://walrus.readthedocs.org/
Language: Python
License: MIT
License Family: permissive
Topics: redis, python, orm, full-text-search, autocomplete, database
Last push: 2026-01-15T13:28:50+00:00

## Health v2 (maintenance only)
Score: 51/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 62, release rhythm 8, longevity 100
- inputs: {"age_days": 4269, "days_push": 230, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1205, forks 93 (observed 2026-08-28T04:03:59.153386+00:00)

## What it is
Walrus is a lightweight Python library that subclasses and extends the redis-py client, acting as a drop-in replacement with added utilities. It provides Pythonic container classes for Redis data types, plus caching, full-text search, autocomplete, rate-limiting, locking, and experimental active-record models with secondary indexes.

## Use cases
- use redis from python with a nicer api
- cache function calls in python with redis
- add full-text search on top of redis
- implement rate limiting with redis
- persist structured models in redis with secondary indexes
- consume redis streams with consumer groups in python
- add autocomplete to my app using redis

## When to choose
- you already use redis-py and want extra features without changing clients
- you need redis-backed caching, locking, rate-limiting, or search in Python
- you want active-record-style models persisted in Redis

## When to avoid
- you need a mature, fully-featured ORM rather than experimental models
- you don't use Redis
- you need a dedicated search engine like Elasticsearch for complex search requirements

## Facets
- artifact type: library
- maturity: active
- function: database-driver, orm, caching, search-engine, rate-limiting
- domain: databases, developer-tools, backend
- platform: python
- tags: redis-py, redis-client, full-text-search, streams, consumer-groups, drop-in-replacement, active-record, distributed-lock, bloom-filter, autocomplete, search, redis

## Member repositories
- coleifer/walrus (main) score 51

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:59.153386+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:19:24.839836+00:00, confidence not recorded.
  - readme: https://github.com/coleifer/walrus (fetched 2026-08-28T04:03:59.153386+00:00, sha 976a56d37a47)
  - registry_pypi: https://pypi.org/pypi/walrus/json (fetched 2026-08-29T12:27:38.477596+00:00, sha 80f780d7fc63)
- Data as of 2026-08-30T08:39:29.467469+00:00.
