kedis-python 0.1.2__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. {kedis_python-0.1.2 → kedis_python-0.1.4}/PKG-INFO +18 -1
  2. {kedis_python-0.1.2 → kedis_python-0.1.4}/README.md +17 -0
  3. kedis_python-0.1.4/kedis_python/commands.py +1154 -0
  4. kedis_python-0.1.4/kedis_python/hyperloglog.py +78 -0
  5. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/main.py +254 -97
  6. kedis_python-0.1.4/kedis_python/network.py +105 -0
  7. kedis_python-0.1.4/kedis_python/parser.py +307 -0
  8. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/server.py +206 -46
  9. kedis_python-0.1.4/kedis_python/store.py +1789 -0
  10. kedis_python-0.1.4/kedis_python/stream.py +416 -0
  11. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/ui.py +116 -9
  12. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python.egg-info/PKG-INFO +18 -1
  13. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python.egg-info/SOURCES.txt +19 -1
  14. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python.egg-info/entry_points.txt +1 -0
  15. {kedis_python-0.1.2 → kedis_python-0.1.4}/pyproject.toml +2 -1
  16. {kedis_python-0.1.2 → kedis_python-0.1.4}/tests/test_bench.py +2 -2
  17. kedis_python-0.1.4/tests/test_bitmap_persistence.py +268 -0
  18. kedis_python-0.1.4/tests/test_bitmaps.py +183 -0
  19. kedis_python-0.1.4/tests/test_docs_streams.py +91 -0
  20. kedis_python-0.1.4/tests/test_housekeeping.py +282 -0
  21. kedis_python-0.1.4/tests/test_hyperloglog.py +412 -0
  22. kedis_python-0.1.4/tests/test_inline_block.py +112 -0
  23. {kedis_python-0.1.2 → kedis_python-0.1.4}/tests/test_lists.py +1 -1
  24. kedis_python-0.1.4/tests/test_parser_casing.py +87 -0
  25. kedis_python-0.1.4/tests/test_parser_harden.py +150 -0
  26. kedis_python-0.1.4/tests/test_stream_commands.py +299 -0
  27. kedis_python-0.1.4/tests/test_stream_core.py +219 -0
  28. kedis_python-0.1.4/tests/test_stream_groups_commands.py +433 -0
  29. kedis_python-0.1.4/tests/test_stream_groups_core.py +285 -0
  30. kedis_python-0.1.4/tests/test_stream_groups_server.py +438 -0
  31. kedis_python-0.1.4/tests/test_stream_groups_store.py +601 -0
  32. kedis_python-0.1.4/tests/test_stream_server.py +326 -0
  33. kedis_python-0.1.4/tests/test_stream_store.py +366 -0
  34. kedis_python-0.1.2/kedis_python/commands.py +0 -512
  35. kedis_python-0.1.2/kedis_python/network.py +0 -60
  36. kedis_python-0.1.2/kedis_python/parser.py +0 -132
  37. kedis_python-0.1.2/kedis_python/store.py +0 -873
  38. {kedis_python-0.1.2 → kedis_python-0.1.4}/LICENSE +0 -0
  39. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/__init__.py +0 -0
  40. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/benchmark.py +0 -0
  41. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/benchmark_asyncio.py +0 -0
  42. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/kesp_cli.py +0 -0
  43. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/replica.py +0 -0
  44. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/simulator.py +0 -0
  45. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python/skiplist.py +0 -0
  46. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python.egg-info/dependency_links.txt +0 -0
  47. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python.egg-info/requires.txt +0 -0
  48. {kedis_python-0.1.2 → kedis_python-0.1.4}/kedis_python.egg-info/top_level.txt +0 -0
  49. {kedis_python-0.1.2 → kedis_python-0.1.4}/setup.cfg +0 -0
  50. {kedis_python-0.1.2 → kedis_python-0.1.4}/tests/test_kesp.py +0 -0
  51. {kedis_python-0.1.2 → kedis_python-0.1.4}/tests/test_kesp2.py +0 -0
  52. {kedis_python-0.1.2 → kedis_python-0.1.4}/tests/test_lru.py +0 -0
  53. {kedis_python-0.1.2 → kedis_python-0.1.4}/tests/test_replica.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kedis-python
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: A Redis-inspired in-memory store in Python.
5
5
  Author: V SS Karthik
6
6
  License-Expression: MIT
@@ -49,6 +49,7 @@ Dive into the internal grimoire to understand how Kedis achieves microsecond lat
49
49
  * [Persistence & I/O Drivetrain](docs/persistence.md)
50
50
  * [Command Spellbook](docs/commands.md)
51
51
  * [TTL & Lifespan Mechanics](docs/ttl.md)
52
+ * [Streams & Consumer Groups](docs/streams.md)
52
53
  * [Pub/Sub Broadcasts](docs/pubsub.md)
53
54
  * [Benchmarks & Telemetry](docs/benchmarks.md)
54
55
  * [Future Roadmap](docs/roadmap.md)
@@ -107,6 +108,20 @@ ZRANGE leaderboard
107
108
 
108
109
  Implemented using a custom Skip List inspired by Redis sorted set internals, with rank-aware span tracking for fast positional queries.
109
110
 
111
+ ### Streams & Consumer Groups
112
+
113
+ ```bash
114
+ XADD orders * item book qty 2
115
+ XREAD BLOCK 5000 STREAMS orders $
116
+
117
+ XGROUP CREATE orders shipping 0
118
+ XREADGROUP GROUP shipping worker1 COUNT 10 STREAMS orders >
119
+ XPENDING orders shipping
120
+ XACK orders shipping 1718000000000-0
121
+ ```
122
+
123
+ Append-only event logs with blocking reads, and consumer groups that share a stream between workers with a pending list and acknowledgements. Streams persist through the AOF, `COMPACT` and snapshots, and replicate with the exact IDs and group state the master chose. See [Streams & Consumer Groups](docs/streams.md).
124
+
110
125
  ---
111
126
 
112
127
  ## ⏳ Expiration Support
@@ -290,6 +305,7 @@ The project includes automated tests covering:
290
305
  * data structures
291
306
  * persistence recovery
292
307
  * expiration behavior
308
+ * streams and consumer groups, from the data structure up to live TCP sessions
293
309
 
294
310
  Additional coverage is actively being expanded as the project evolves.
295
311
 
@@ -361,6 +377,7 @@ Current limitations include:
361
377
  * limited fault tolerance compared to production databases
362
378
  * no memory-based eviction ceiling (LRU tracks usage, but isn't yet tied to a hard memory limit)
363
379
  * AOF persistence is not buffered — writes can trigger a sync depending on config
380
+ * consumer groups have no `XCLAIM`/`XAUTOCLAIM` yet; the full list of stream limits is in [docs/streams.md](docs/streams.md#-known-limits)
364
381
 
365
382
  These limitations are intentional learning opportunities and areas of active development.
366
383
 
@@ -35,6 +35,7 @@ Dive into the internal grimoire to understand how Kedis achieves microsecond lat
35
35
  * [Persistence & I/O Drivetrain](docs/persistence.md)
36
36
  * [Command Spellbook](docs/commands.md)
37
37
  * [TTL & Lifespan Mechanics](docs/ttl.md)
38
+ * [Streams & Consumer Groups](docs/streams.md)
38
39
  * [Pub/Sub Broadcasts](docs/pubsub.md)
39
40
  * [Benchmarks & Telemetry](docs/benchmarks.md)
40
41
  * [Future Roadmap](docs/roadmap.md)
@@ -93,6 +94,20 @@ ZRANGE leaderboard
93
94
 
94
95
  Implemented using a custom Skip List inspired by Redis sorted set internals, with rank-aware span tracking for fast positional queries.
95
96
 
97
+ ### Streams & Consumer Groups
98
+
99
+ ```bash
100
+ XADD orders * item book qty 2
101
+ XREAD BLOCK 5000 STREAMS orders $
102
+
103
+ XGROUP CREATE orders shipping 0
104
+ XREADGROUP GROUP shipping worker1 COUNT 10 STREAMS orders >
105
+ XPENDING orders shipping
106
+ XACK orders shipping 1718000000000-0
107
+ ```
108
+
109
+ Append-only event logs with blocking reads, and consumer groups that share a stream between workers with a pending list and acknowledgements. Streams persist through the AOF, `COMPACT` and snapshots, and replicate with the exact IDs and group state the master chose. See [Streams & Consumer Groups](docs/streams.md).
110
+
96
111
  ---
97
112
 
98
113
  ## ⏳ Expiration Support
@@ -276,6 +291,7 @@ The project includes automated tests covering:
276
291
  * data structures
277
292
  * persistence recovery
278
293
  * expiration behavior
294
+ * streams and consumer groups, from the data structure up to live TCP sessions
279
295
 
280
296
  Additional coverage is actively being expanded as the project evolves.
281
297
 
@@ -347,6 +363,7 @@ Current limitations include:
347
363
  * limited fault tolerance compared to production databases
348
364
  * no memory-based eviction ceiling (LRU tracks usage, but isn't yet tied to a hard memory limit)
349
365
  * AOF persistence is not buffered — writes can trigger a sync depending on config
366
+ * consumer groups have no `XCLAIM`/`XAUTOCLAIM` yet; the full list of stream limits is in [docs/streams.md](docs/streams.md#-known-limits)
350
367
 
351
368
  These limitations are intentional learning opportunities and areas of active development.
352
369