diff --git a/data/command-api-mapping-status.json b/data/command-api-mapping-status.json index 8f29495df3..44b4cc45b8 100644 --- a/data/command-api-mapping-status.json +++ b/data/command-api-mapping-status.json @@ -105,7 +105,8 @@ "nredisstack_async": "unsupported", "redis_rs_sync": "generic_only", "redis_rs_async": "generic_only", - "php": "generic_only" + "php": "generic_only", + "redis_py": "generic_only" }, "CLIENT GETNAME": { "nredisstack_sync": "unsupported", @@ -654,7 +655,8 @@ }, "FT.CURSOR DEL": { "redis_rs_sync": "generic_only", - "redis_rs_async": "generic_only" + "redis_rs_async": "generic_only", + "redis_py": "generic_only" }, "FT.CURSOR READ": { "redis_rs_sync": "generic_only", @@ -745,7 +747,8 @@ }, "FT._LIST": { "redis_rs_sync": "generic_only", - "redis_rs_async": "generic_only" + "redis_rs_async": "generic_only", + "redis_py": "generic_only" }, "FUNCTION DELETE": { "lettuce_sync": "generic_only", diff --git a/data/command-api-mapping.json b/data/command-api-mapping.json index 7c6784aaaf..c5c81def2e 100644 --- a/data/command-api-mapping.json +++ b/data/command-api-mapping.json @@ -20465,27 +20465,7 @@ }, "CLIENT CACHING": { "api_calls": { - "redis_py": [ - { - "signature": "client_caching(enabled: bool, **kwargs)", - "params": [ - { - "name": "enabled", - "type": "bool", - "description": "" - }, - { - "name": "**kwargs", - "type": "Any", - "description": "" - } - ], - "returns": { - "type": "str", - "description": "" - } - } - ], + "redis_py": [], "jedis": [ { "signature": "String clientCaching(boolean enabled)", @@ -37077,16 +37057,16 @@ "api_calls": { "redis_py": [ { - "signature": "aggregate(query: Union[str, Query], query_params: Optional[Dict[str, Union[str, int, float]]] = None)", + "signature": "aggregate(query: Union[AggregateRequest, Cursor], query_params: Optional[Dict[str, Union[str, int, float, bytes]]] = None)", "params": [ { "name": "query", - "type": "Union[str, Query]", + "type": "Union[AggregateRequest, Cursor]", "description": "The aggregation query" }, { "name": "query_params", - "type": "Optional[Dict[str, Union[str, int, float]]]", + "type": "Optional[Dict[str, Union[str, int, float, bytes]]]", "description": "Optional query parameters" } ], @@ -38977,22 +38957,7 @@ }, "FT.CURSOR DEL": { "api_calls": { - "redis_py": [ - { - "signature": "cursor_del(cursor_id: int)", - "params": [ - { - "name": "cursor_id", - "type": "int", - "description": "The cursor ID to delete" - } - ], - "returns": { - "type": "str", - "description": "OK on success" - } - } - ], + "redis_py": [], "jedis": [ { "signature": "String ftCursorDel(String indexName, long cursorId)", @@ -39207,17 +39172,17 @@ "api_calls": { "redis_py": [ { - "signature": "cursor_read(cursor_id: int, read_size: Optional[int] = None)", + "signature": "aggregate(query: Union[AggregateRequest, Cursor], query_params: Optional[Dict[str, Union[str, int, float, bytes]]] = None)", "params": [ { - "name": "cursor_id", - "type": "int", - "description": "The cursor ID to read from" + "name": "query", + "type": "Union[AggregateRequest, Cursor]", + "description": "A Cursor built from the cursor ID of a previous AggregateResult; its count attribute sets the read size" }, { - "name": "read_size", - "type": "Optional[int]", - "description": "Number of results to read" + "name": "query_params", + "type": "Optional[Dict[str, Union[str, int, float, bytes]]]", + "description": "Optional query parameters" } ], "returns": { @@ -44866,16 +44831,7 @@ }, "FT._LIST": { "api_calls": { - "redis_py": [ - { - "signature": "_list()", - "params": [], - "returns": { - "type": "List[str]", - "description": "A list of all existing indexes" - } - } - ], + "redis_py": [], "jedis": [ { "signature": "Set ftList()", @@ -82007,7 +81963,7 @@ "api_calls": { "redis_py": [ { - "signature": "set(name: str, path: str, obj: JsonType, nx: Optional[bool] = False, xx: Optional[bool] = False, decode_keys: Optional[bool] = False)", + "signature": "set(name: str, path: str, obj: JsonType, nx: Optional[bool] = False, xx: Optional[bool] = False, decode_keys: Optional[bool] = False, fpha: Optional[Union[FPHAType, str]] = None)", "params": [ { "name": "name", @@ -82038,10 +81994,15 @@ "name": "decode_keys", "type": "Optional[bool] = False", "description": "" + }, + { + "name": "fpha", + "type": "Optional[Union[FPHAType, str]] = None", + "description": "Force Redis to store all floating-point homogeneous arrays in obj as this type: BF16, FP16, FP32 or FP64" } ], "returns": { - "type": "Optional[str]", + "type": "Optional[bool]", "description": "" } }, @@ -129019,7 +128980,7 @@ "api_calls": { "redis_py": [ { - "signature": "mrange(from_time: Union[int, str], to_time: Union[int, str], filters: List[str], count: Optional[int] = None, aggregation_type: Optional[str] = None, bucket_size_msec: Optional[int] = 0, with_labels: Optional[bool] = False, filter_by_ts: Optional[List[int]] = None, filter_by_min_value: Optional[int] = None, filter_by_max_value: Optional[int] = None, groupby: Optional[str] = None, reduce: Optional[str] = None, select_labels: Optional[List[str]] = None, align: Optional[Union[int, str]] = None, latest: Optional[bool] = False, bucket_timestamp: Optional[str] = None, empty: Optional[bool] = False)", + "signature": "mrange(from_time: Union[int, str], to_time: Union[int, str], filters: List[str], count: Optional[int] = None, aggregation_type: Optional[Union[str, List[str]]] = None, bucket_size_msec: Optional[int] = 0, with_labels: Optional[bool] = False, filter_by_ts: Optional[List[int]] = None, filter_by_min_value: Optional[int] = None, filter_by_max_value: Optional[int] = None, groupby: Optional[str] = None, reduce: Optional[str] = None, select_labels: Optional[List[str]] = None, align: Optional[Union[int, str]] = None, latest: Optional[bool] = False, bucket_timestamp: Optional[str] = None, empty: Optional[bool] = False, exclude_empty: Optional[bool] = False)", "params": [ { "name": "from_time", @@ -129043,7 +129004,7 @@ }, { "name": "aggregation_type", - "type": "Optional[str] = None", + "type": "Optional[Union[str, List[str]]] = None", "description": "" }, { @@ -129105,6 +129066,11 @@ "name": "empty", "type": "Optional[bool] = False", "description": "" + }, + { + "name": "exclude_empty", + "type": "Optional[bool] = False", + "description": "Leave out series that have no samples in the range; not allowed with groupby" } ], "returns": { @@ -129453,7 +129419,7 @@ "api_calls": { "redis_py": [ { - "signature": "mrevrange(from_time: Union[int, str], to_time: Union[int, str], filters: List[str], count: Optional[int] = None, aggregation_type: Optional[str] = None, bucket_size_msec: Optional[int] = 0, with_labels: Optional[bool] = False, filter_by_ts: Optional[List[int]] = None, filter_by_min_value: Optional[int] = None, filter_by_max_value: Optional[int] = None, groupby: Optional[str] = None, reduce: Optional[str] = None, select_labels: Optional[List[str]] = None, align: Optional[Union[int, str]] = None, latest: Optional[bool] = False, bucket_timestamp: Optional[str] = None, empty: Optional[bool] = False)", + "signature": "mrevrange(from_time: Union[int, str], to_time: Union[int, str], filters: List[str], count: Optional[int] = None, aggregation_type: Optional[Union[str, List[str]]] = None, bucket_size_msec: Optional[int] = 0, with_labels: Optional[bool] = False, filter_by_ts: Optional[List[int]] = None, filter_by_min_value: Optional[int] = None, filter_by_max_value: Optional[int] = None, groupby: Optional[str] = None, reduce: Optional[str] = None, select_labels: Optional[List[str]] = None, align: Optional[Union[int, str]] = None, latest: Optional[bool] = False, bucket_timestamp: Optional[str] = None, empty: Optional[bool] = False, exclude_empty: Optional[bool] = False)", "params": [ { "name": "from_time", @@ -129477,7 +129443,7 @@ }, { "name": "aggregation_type", - "type": "Optional[str] = None", + "type": "Optional[Union[str, List[str]]] = None", "description": "" }, { @@ -129539,6 +129505,11 @@ "name": "empty", "type": "Optional[bool] = False", "description": "" + }, + { + "name": "exclude_empty", + "type": "Optional[bool] = False", + "description": "Leave out series that have no samples in the range; not allowed with groupby" } ], "returns": { @@ -149883,7 +149854,7 @@ "api_calls": { "redis_py": [ { - "signature": "xread(streams: Dict[KeyT, StreamIdT], count: Optional[int] = None, block: Optional[int] = None)", + "signature": "xread(streams: Dict[KeyT, StreamIdT], count: Optional[int] = None, block: Optional[int] = None, max_count: Optional[int] = None, max_size: Optional[int] = None)", "params": [ { "name": "streams", @@ -149899,6 +149870,16 @@ "name": "block", "type": "Optional[int] = None", "description": "" + }, + { + "name": "max_count", + "type": "Optional[int] = None", + "description": "Cap on the total number of entries returned across all streams, where count is per stream. Requires Redis 8.10.0 or later" + }, + { + "name": "max_size", + "type": "Optional[int] = None", + "description": "Soft cap, in bytes, on the total reply size across all streams. Requires Redis 8.10.0 or later" } ], "returns": { @@ -150671,7 +150652,7 @@ "api_calls": { "redis_py": [ { - "signature": "xreadgroup(groupname: str, consumername: str, streams: Dict[KeyT, StreamIdT], count: Optional[int] = None, block: Optional[int] = None, noack: bool = False, claim_min_idle_time: Optional[int] = None)", + "signature": "xreadgroup(groupname: str, consumername: str, streams: Dict[KeyT, StreamIdT], count: Optional[int] = None, block: Optional[int] = None, noack: bool = False, claim_min_idle_time: Optional[int] = None, max_count: Optional[int] = None, max_size: Optional[int] = None)", "params": [ { "name": "groupname", @@ -150707,6 +150688,16 @@ "name": "claim_min_idle_time", "type": "Optional[int] = None", "description": "" + }, + { + "name": "max_count", + "type": "Optional[int] = None", + "description": "Cap on the total number of entries returned across all streams, where count is per stream. Requires Redis 8.10.0 or later" + }, + { + "name": "max_size", + "type": "Optional[int] = None", + "description": "Soft cap, in bytes, on the total reply size across all streams. Requires Redis 8.10.0 or later" } ], "returns": { diff --git a/data/command-api-mapping/CLIENT CACHING.json b/data/command-api-mapping/CLIENT CACHING.json index 48ef48b245..932ea7e769 100644 --- a/data/command-api-mapping/CLIENT CACHING.json +++ b/data/command-api-mapping/CLIENT CACHING.json @@ -1,26 +1,6 @@ { "api_calls": { - "redis_py": [ - { - "signature": "client_caching(enabled: bool, **kwargs)", - "params": [ - { - "name": "enabled", - "type": "bool", - "description": "" - }, - { - "name": "**kwargs", - "type": "Any", - "description": "" - } - ], - "returns": { - "type": "str", - "description": "" - } - } - ], + "redis_py": [], "jedis": [ { "signature": "String clientCaching(boolean enabled)", diff --git a/data/command-api-mapping/FT.AGGREGATE.json b/data/command-api-mapping/FT.AGGREGATE.json index d3b7721472..62febd3376 100644 --- a/data/command-api-mapping/FT.AGGREGATE.json +++ b/data/command-api-mapping/FT.AGGREGATE.json @@ -2,16 +2,16 @@ "api_calls": { "redis_py": [ { - "signature": "aggregate(query: Union[str, Query], query_params: Optional[Dict[str, Union[str, int, float]]] = None)", + "signature": "aggregate(query: Union[AggregateRequest, Cursor], query_params: Optional[Dict[str, Union[str, int, float, bytes]]] = None)", "params": [ { "name": "query", - "type": "Union[str, Query]", + "type": "Union[AggregateRequest, Cursor]", "description": "The aggregation query" }, { "name": "query_params", - "type": "Optional[Dict[str, Union[str, int, float]]]", + "type": "Optional[Dict[str, Union[str, int, float, bytes]]]", "description": "Optional query parameters" } ], diff --git a/data/command-api-mapping/FT.CURSOR DEL.json b/data/command-api-mapping/FT.CURSOR DEL.json index 807d49f394..e4018334d3 100644 --- a/data/command-api-mapping/FT.CURSOR DEL.json +++ b/data/command-api-mapping/FT.CURSOR DEL.json @@ -1,21 +1,6 @@ { "api_calls": { - "redis_py": [ - { - "signature": "cursor_del(cursor_id: int)", - "params": [ - { - "name": "cursor_id", - "type": "int", - "description": "The cursor ID to delete" - } - ], - "returns": { - "type": "str", - "description": "OK on success" - } - } - ], + "redis_py": [], "jedis": [ { "signature": "String ftCursorDel(String indexName, long cursorId)", diff --git a/data/command-api-mapping/FT.CURSOR READ.json b/data/command-api-mapping/FT.CURSOR READ.json index 9d3b92683a..16a411205c 100644 --- a/data/command-api-mapping/FT.CURSOR READ.json +++ b/data/command-api-mapping/FT.CURSOR READ.json @@ -2,17 +2,17 @@ "api_calls": { "redis_py": [ { - "signature": "cursor_read(cursor_id: int, read_size: Optional[int] = None)", + "signature": "aggregate(query: Union[AggregateRequest, Cursor], query_params: Optional[Dict[str, Union[str, int, float, bytes]]] = None)", "params": [ { - "name": "cursor_id", - "type": "int", - "description": "The cursor ID to read from" + "name": "query", + "type": "Union[AggregateRequest, Cursor]", + "description": "A Cursor built from the cursor ID of a previous AggregateResult; its count attribute sets the read size" }, { - "name": "read_size", - "type": "Optional[int]", - "description": "Number of results to read" + "name": "query_params", + "type": "Optional[Dict[str, Union[str, int, float, bytes]]]", + "description": "Optional query parameters" } ], "returns": { diff --git a/data/command-api-mapping/FT._LIST.json b/data/command-api-mapping/FT._LIST.json index 41838c26a3..8b6e6be939 100644 --- a/data/command-api-mapping/FT._LIST.json +++ b/data/command-api-mapping/FT._LIST.json @@ -1,15 +1,6 @@ { "api_calls": { - "redis_py": [ - { - "signature": "_list()", - "params": [], - "returns": { - "type": "List[str]", - "description": "A list of all existing indexes" - } - } - ], + "redis_py": [], "jedis": [ { "signature": "Set ftList()", diff --git a/data/command-api-mapping/JSON.SET.json b/data/command-api-mapping/JSON.SET.json index bd025e7816..a8607b8959 100644 --- a/data/command-api-mapping/JSON.SET.json +++ b/data/command-api-mapping/JSON.SET.json @@ -2,7 +2,7 @@ "api_calls": { "redis_py": [ { - "signature": "set(name: str, path: str, obj: JsonType, nx: Optional[bool] = False, xx: Optional[bool] = False, decode_keys: Optional[bool] = False)", + "signature": "set(name: str, path: str, obj: JsonType, nx: Optional[bool] = False, xx: Optional[bool] = False, decode_keys: Optional[bool] = False, fpha: Optional[Union[FPHAType, str]] = None)", "params": [ { "name": "name", @@ -33,10 +33,15 @@ "name": "decode_keys", "type": "Optional[bool] = False", "description": "" + }, + { + "name": "fpha", + "type": "Optional[Union[FPHAType, str]] = None", + "description": "Force Redis to store all floating-point homogeneous arrays in obj as this type: BF16, FP16, FP32 or FP64" } ], "returns": { - "type": "Optional[str]", + "type": "Optional[bool]", "description": "" } }, diff --git a/data/command-api-mapping/TS.MRANGE.json b/data/command-api-mapping/TS.MRANGE.json index 57ac4c3d56..5c1bb5a8e0 100644 --- a/data/command-api-mapping/TS.MRANGE.json +++ b/data/command-api-mapping/TS.MRANGE.json @@ -2,7 +2,7 @@ "api_calls": { "redis_py": [ { - "signature": "mrange(from_time: Union[int, str], to_time: Union[int, str], filters: List[str], count: Optional[int] = None, aggregation_type: Optional[str] = None, bucket_size_msec: Optional[int] = 0, with_labels: Optional[bool] = False, filter_by_ts: Optional[List[int]] = None, filter_by_min_value: Optional[int] = None, filter_by_max_value: Optional[int] = None, groupby: Optional[str] = None, reduce: Optional[str] = None, select_labels: Optional[List[str]] = None, align: Optional[Union[int, str]] = None, latest: Optional[bool] = False, bucket_timestamp: Optional[str] = None, empty: Optional[bool] = False)", + "signature": "mrange(from_time: Union[int, str], to_time: Union[int, str], filters: List[str], count: Optional[int] = None, aggregation_type: Optional[Union[str, List[str]]] = None, bucket_size_msec: Optional[int] = 0, with_labels: Optional[bool] = False, filter_by_ts: Optional[List[int]] = None, filter_by_min_value: Optional[int] = None, filter_by_max_value: Optional[int] = None, groupby: Optional[str] = None, reduce: Optional[str] = None, select_labels: Optional[List[str]] = None, align: Optional[Union[int, str]] = None, latest: Optional[bool] = False, bucket_timestamp: Optional[str] = None, empty: Optional[bool] = False, exclude_empty: Optional[bool] = False)", "params": [ { "name": "from_time", @@ -26,7 +26,7 @@ }, { "name": "aggregation_type", - "type": "Optional[str] = None", + "type": "Optional[Union[str, List[str]]] = None", "description": "" }, { @@ -88,6 +88,11 @@ "name": "empty", "type": "Optional[bool] = False", "description": "" + }, + { + "name": "exclude_empty", + "type": "Optional[bool] = False", + "description": "Leave out series that have no samples in the range; not allowed with groupby" } ], "returns": { diff --git a/data/command-api-mapping/TS.MREVRANGE.json b/data/command-api-mapping/TS.MREVRANGE.json index 0a83979ac5..a1ec1149bf 100644 --- a/data/command-api-mapping/TS.MREVRANGE.json +++ b/data/command-api-mapping/TS.MREVRANGE.json @@ -2,7 +2,7 @@ "api_calls": { "redis_py": [ { - "signature": "mrevrange(from_time: Union[int, str], to_time: Union[int, str], filters: List[str], count: Optional[int] = None, aggregation_type: Optional[str] = None, bucket_size_msec: Optional[int] = 0, with_labels: Optional[bool] = False, filter_by_ts: Optional[List[int]] = None, filter_by_min_value: Optional[int] = None, filter_by_max_value: Optional[int] = None, groupby: Optional[str] = None, reduce: Optional[str] = None, select_labels: Optional[List[str]] = None, align: Optional[Union[int, str]] = None, latest: Optional[bool] = False, bucket_timestamp: Optional[str] = None, empty: Optional[bool] = False)", + "signature": "mrevrange(from_time: Union[int, str], to_time: Union[int, str], filters: List[str], count: Optional[int] = None, aggregation_type: Optional[Union[str, List[str]]] = None, bucket_size_msec: Optional[int] = 0, with_labels: Optional[bool] = False, filter_by_ts: Optional[List[int]] = None, filter_by_min_value: Optional[int] = None, filter_by_max_value: Optional[int] = None, groupby: Optional[str] = None, reduce: Optional[str] = None, select_labels: Optional[List[str]] = None, align: Optional[Union[int, str]] = None, latest: Optional[bool] = False, bucket_timestamp: Optional[str] = None, empty: Optional[bool] = False, exclude_empty: Optional[bool] = False)", "params": [ { "name": "from_time", @@ -26,7 +26,7 @@ }, { "name": "aggregation_type", - "type": "Optional[str] = None", + "type": "Optional[Union[str, List[str]]] = None", "description": "" }, { @@ -88,6 +88,11 @@ "name": "empty", "type": "Optional[bool] = False", "description": "" + }, + { + "name": "exclude_empty", + "type": "Optional[bool] = False", + "description": "Leave out series that have no samples in the range; not allowed with groupby" } ], "returns": { diff --git a/data/command-api-mapping/XREAD.json b/data/command-api-mapping/XREAD.json index 2d817215c4..8100a272d8 100644 --- a/data/command-api-mapping/XREAD.json +++ b/data/command-api-mapping/XREAD.json @@ -2,7 +2,7 @@ "api_calls": { "redis_py": [ { - "signature": "xread(streams: Dict[KeyT, StreamIdT], count: Optional[int] = None, block: Optional[int] = None)", + "signature": "xread(streams: Dict[KeyT, StreamIdT], count: Optional[int] = None, block: Optional[int] = None, max_count: Optional[int] = None, max_size: Optional[int] = None)", "params": [ { "name": "streams", @@ -18,6 +18,16 @@ "name": "block", "type": "Optional[int] = None", "description": "" + }, + { + "name": "max_count", + "type": "Optional[int] = None", + "description": "Cap on the total number of entries returned across all streams, where count is per stream. Requires Redis 8.10.0 or later" + }, + { + "name": "max_size", + "type": "Optional[int] = None", + "description": "Soft cap, in bytes, on the total reply size across all streams. Requires Redis 8.10.0 or later" } ], "returns": { diff --git a/data/command-api-mapping/XREADGROUP.json b/data/command-api-mapping/XREADGROUP.json index ceb4b9c73c..155a3ec1a9 100644 --- a/data/command-api-mapping/XREADGROUP.json +++ b/data/command-api-mapping/XREADGROUP.json @@ -2,7 +2,7 @@ "api_calls": { "redis_py": [ { - "signature": "xreadgroup(groupname: str, consumername: str, streams: Dict[KeyT, StreamIdT], count: Optional[int] = None, block: Optional[int] = None, noack: bool = False, claim_min_idle_time: Optional[int] = None)", + "signature": "xreadgroup(groupname: str, consumername: str, streams: Dict[KeyT, StreamIdT], count: Optional[int] = None, block: Optional[int] = None, noack: bool = False, claim_min_idle_time: Optional[int] = None, max_count: Optional[int] = None, max_size: Optional[int] = None)", "params": [ { "name": "groupname", @@ -38,6 +38,16 @@ "name": "claim_min_idle_time", "type": "Optional[int] = None", "description": "" + }, + { + "name": "max_count", + "type": "Optional[int] = None", + "description": "Cap on the total number of entries returned across all streams, where count is per stream. Requires Redis 8.10.0 or later" + }, + { + "name": "max_size", + "type": "Optional[int] = None", + "description": "Soft cap, in bytes, on the total reply size across all streams. Requires Redis 8.10.0 or later" } ], "returns": {