Skip to content

DOC-7294 Add Python and Go BITRANGEINTARRAY examples to the bitmaps page [PARKED] - #4527

Open
andy-stark-redis wants to merge 1 commit into
feature-oss-8.12from
DOC-7294-bitrangeintarray-example
Open

andy-stark-redis wants to merge 1 commit into
feature-oss-8.12from
DOC-7294-bitrangeintarray-example

Conversation

@andy-stark-redis

@andy-stark-redis andy-stark-redis commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Adds a bitrangeintarray step to the bitmap_tutorial set for Python (new dt_bitmap.py) and Go (new ExampleClient_bitrangeintarray), and wraps the BITRANGEINTARRAY redis-cli block in bitmaps.md in a clients-example shortcode limited to Python and Go. The prompt prefix inside the block changes from redis> to > to match the rest of the page.

Warning

Do not merge yet. This PR documents client APIs that are on the clients' default branches but in no stable release. Base is feature-oss-8.12 (the 8.12 release branch), not main.

Run-verified on redis:8.12-rc2 (server reports redis_version:8.11.241, the rc2 version string). dt_bitmap.py ran with its assertions against redis-py master 509306fc7325, and ExampleClient_bitrangeintarray passed go test against go-redis master 9f33ff11dff1, including the // Output: match. The server's bitmap-default-roaring was back to no afterwards.

Park manifest

Ticket: DOC-7294
Parked at: 2026-11-10
Trigger to pick up: per client, the merge commit of its BITRANGEINTARRAY PR is an ancestor of a non-prerelease tag (behind_by: 0), and Redis 8.12 is GA. Python needs a redis-py release after v8.1.0 that includes #4587 (v8.2.0b1 does not); Go needs a go-redis release after v9.23.0.
Labels: parked, do not merge yet

Pinned sources (state observed at park time, 2026-11-10)

Source State SHA Notes
redis-py#4587 merged merge 4fe8a8c18e28 tests gated at server 8.11.240 though the command ships in 8.12
redis-py master — 509306fc7325 checked
go-redis#4242 merged 2026-11-02 merge f477e06feb2c
go-redis master — 9f33ff11dff1 go vet ran against this
go-redis#4277 open head 686e87831613 client-side-caching and FT.HYBRID RERANK; may change the API
jedis#4830 open head 8308d7a675b0
predis#1754 open head 15c24ca18790
lettuce#3992 merged 2026-11-09 merge 5320f301a087 no tag
redis-rb#1409 merged merge cadebe5d2c5e Ruby has no bitmap_tutorial source

Re-fetch: gh api repos/<o>/<r>/pulls/<n> --jq '{state, merged, head_sha: .head.sha, merge: .merge_commit_sha}'.

Observed shape the page assumes

Confidence: HIGH for semantics (the command is documented on the page); MEDIUM for identifiers (merged to default branches, unreleased).

  • Python: bitrangeintarray(key, start, end, mode=None, limit=None, zeros=False) returns list[int]; mode is "BYTE" or "BIT".
  • Go: BitRangeIntArray(ctx, key, start, end) and BitRangeIntArrayWithArgs(ctx, key, start, end, *BitRangeIntArrayArgs{Unit, Limit, Zeros}), Unit from redis.BitCountIndexBit / BitCountIndexByte.
  • Expected output: [1 7 9 30], [28 29 31], [1 7], [9 30], [1 7], [9].

Re-check checklist

  • Run on a real server: done on redis:8.12-rc2, 2026-11-10. Repeat on the GA image and released clients.
  • CONFIG SET bitmap-default-roaring is set in-step and reset only in REMOVE code, which the build strips; the harness must reset it.
  • Re-read the Python and Go signatures at the released tags.
  • If go-redis K8s: Gateway API routing (eden release) #4277 merges first, re-check BitRangeIntArrayArgs.
  • Add Jedis (#4830), predis (DEV: add RESP2/3 return information to the t-digest commands #1754), lettuce (docs: remove duplicate 'of' in REC certificates docs #3992, async and reactive) to the lang_filter allowlist and write their steps once each ships.
  • node-redis has bitRangeIntArray on master but not in 6.3.1 or 6.4.0-beta.0; no bitmap_tutorial Node source exists.
  • dt_bitmap.py has no BINDER_ID, and run.sh has no bitmap_tutorial mapping; decide whether to add either.
  • Check that the other steps in bitmap_tutorial still render for Go and Python (those tabs previously had only a Go file, none for Python).

On unpark, then

Run /unpark with this PR's number. /unpark Steps 4–5 own the closing sequence; /finalize is deferred until then.

Adds a `bitrangeintarray` step to the `bitmap_tutorial` set for Python (new
dt_bitmap.py) and Go (new ExampleClient_bitrangeintarray), and wraps the
BITRANGEINTARRAY redis-cli block in bitmaps.md in a clients-example shortcode
limited to Python and Go with lang_filter. The redis-cli prompt prefix changes
from `redis>` to `>` inside the shortcode to match the other blocks on the page.

Parked: BITRANGEINTARRAY is on the default branch of redis-py (509306f) and
go-redis (9f33ff1) but in no release (redis-py v8.2.0b1 lacks it; go-redis
v9.23.0 lacks it). Static checks only: `go vet` against the go-redis master
clone and an import/signature check of redis.Redis.bitrangeintarray from a
redis-py master install. NOT run: no Redis 8.12 server was available (Docker
not running; local redis-server is 7.2.7), so the printed values are copied
from the server-authored redis-cli block on the same page.

Not covered yet: Jedis (#4830 open), predis (#1754 open), lettuce (#3992 merged
2026-11-09, no tag), redis-rb (merged, Ruby has no bitmap_tutorial source),
node-redis (BITRANGEINTARRAY in neither 6.3.1 nor 6.4.0-beta.0). Add each to
the lang_filter allowlist only when it ships.

Learned:
- bitmap_tutorial had no Python, Node.js or Ruby source at all; the Roaring
  section's existing `roaring` step is CLI-only. The new Python file contains
  only this step, so the Python tab appears only on this block.
- The step sets bitmap-default-roaring and resets it in REMOVE code, which the
  build strips; the harness must reset it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@andy-stark-redis andy-stark-redis added do not merge yet parked PR speculatively added based on pre-release info. Check validity when release goes ahead. labels Nov 10, 2026
@github-actions

github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

DOC-7294

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

🧠 Redis Memory

Found 5 related items from repository history (5 new this commit):

Memory updated at c03a9ff

@andy-stark-redis
andy-stark-redis requested a review from a team November 10, 2026 11:23
@andy-stark-redis andy-stark-redis self-assigned this Nov 10, 2026
@andy-stark-redis andy-stark-redis added the clients Client library docs label Nov 10, 2026
@andy-stark-redis

Copy link
Copy Markdown
Contributor Author

Thanks for the reviews @dwdougherty !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clients Client library docs do not merge yet parked PR speculatively added based on pre-release info. Check validity when release goes ahead.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants