Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Add iter()/aiter() for filter-based lazy iteration

Aperta
#489 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 5 giorni

@Aryan-Pardeshi ci sta già lavorando.

Dal 9/8/2026.

  • #682 di @Aryan-Pardeshi — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
52/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
python, redis
Ambito
databases

Direzione di ricerca

Leggi prima le implementazioni esistenti di paginate() e scan_by_pattern() e i relativi test di integrazione, quindi segui i percorsi delle espressioni di filtro dell’indice per le API sincrone e asincrone. Il lavoro è completato quando le espressioni selettive e con caratteri jolly trasmettono pigramente una copertura completa e deterministica delle chiavi senza materializzare l’intero risultato, e i test di integrazione verificano entrambi gli iteratori.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Summary

Add lazy filter-based ID/key iteration APIs for index maintenance and agent pipelines.

Level: Intermediate

Current State

  • paginate() yields full document records, not IDs/keys only.
  • scan_by_pattern() works on raw Redis key patterns and returns a materialized list.
  • No index filter-expression based generator for IDs/keys.

Proposed Change

  • Add lazy iterators over keys included in an index in Redis optionally applying some filtering:
    • iter(filter_expression...)
    • aiter(filter_expression,...)
  • Yield as a generator of said keys?

Definition of Done

  • Iteration is lazy (streaming batches, no full list required).
  • Works for selective and wildcard filter expressions.
  • Integration tests verify complete and deterministic coverage.

Out of Scope

  • Arbitrary cursor checkpoints or resumable iterators.
Lingua principale
Python
Stelle
431
Fork
107
Merge medio
5g 17h
PR unite (30g)
16

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di redis/redis-vl-python

Tutte le issue di redis/redis-vl-python

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.