44 Commits (main)

Author SHA1 Message Date
Tom MTT. 25168bc3c8
fix(aredis_om/model/model.py): lazy DB connections
See <https://github.com/redis/redis-om-python/pull/543>.
2 months ago
Manabu Niseki 3a0fa0c7be
Allow using Pydantic v2 (#533)
Co-authored-by: Chayim <chayim@users.noreply.github.com>
10 months ago
Marián Hlaváč c68adacea2
Use TypeVars for return types of RedisModel and its subtype's methods (#476)
Co-authored-by: Chayim <chayim@users.noreply.github.com>
10 months ago
Reinier van der Leer 89b6c84c4a
Add support for KNN vector similarity search (#513)
Co-authored-by: Chayim <chayim@users.noreply.github.com>
10 months ago
Chayim 70f64011fd
Dependency update changes (#534) 10 months ago
Yaraslau Zhylko 412bdd6401
fix: all_pks() for complex keys (#471)
* fix: all_pks for complex keys

* fix tests

* more fixes

* support Python below 3.9+

* black

* linter again
1 year ago
dvora-h f77c21a059
Add support for `count` (#397)
* add count

* update poetry
2 years ago
dvora-h e9529e35be
Fix crash when trying to delete non-existent record (#372) 2 years ago
Manabu Niseki 285f7c90ee
fix: add slash in DEFAULT_ESCAPED_CHARS (#312) (#376) 2 years ago
Mahmoud Harmouch 551429c01a
Allow users to define a new primary key. (#347)
* make primary key programmable

Signed-off-by: wiseaidev <business@wiseai.dev>

* get primary key field using the `key` method

Signed-off-by: wiseaidev <business@wiseai.dev>

* adjust delete_many & expire methods

Signed-off-by: wiseaidev <business@wiseai.dev>

* fix query for int primary key

Signed-off-by: wiseaidev <business@wiseai.dev>

* fix grammar

Signed-off-by: wiseaidev <business@wiseai.dev>

* add unit tests

Signed-off-by: wiseaidev <business@wiseai.dev>

Signed-off-by: wiseaidev <business@wiseai.dev>
Co-authored-by: Chayim <chayim@users.noreply.github.com>
Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
2 years ago
Mahmoud Harmouch 2e09234b68
fix broken links (#348)
Signed-off-by: wiseaidev <business@wiseai.dev>

Signed-off-by: wiseaidev <business@wiseai.dev>
2 years ago
melder 8325e6e111
Fixes issue decode_responses is set to True regardless if REDIS_OM_UR… (#373)
Fixes issue decode_responses is set to True regardless if REDIS_OM_URL environment variable is set.
Otherwise these warnings pop up when persisting objects:

Could not parse Redis response. Error was: "keywords must be strings". Probably, the connection is not set to decode responses from bytes. Attempting to decode response
using the encoding set on model class (<class 'redis_om.model.model.ModelMeta'>. Encoding: utf-8.

Co-authored-by: dvora-h <67596500+dvora-h@users.noreply.github.com>
2 years ago
tonibofarull 9e17678094
Fix None instance when querying (#368)
Fix None instance
2 years ago
dvora-h 57608d85f4
Replace `execute_command` with specific redis functions when possible (#346)
* replace execute_command

* change to root_path
2 years ago
dvora-h a00a68b414
Add `delete_many` to support for bulk deletes (#305)
* Add support for bulk deletes

* linters

* linters

* fix review comments

* update more-itertools version

* poetry fix - maybe?

* merge main & add more-itertools 8.14.0

* update poetry.lock

* linters

* fix test

Co-authored-by: Chayim I. Kirshen <c@kirshen.com>
2 years ago
Serhii Charykov 4661459ddd
Migrate from aioredis to redis-py with asyncio support (#233)
* Migrate from aioredis to redis with asyncio support

Add test for redis type
Fix imports from wrong module (for tests_sync)

* fixing merge conflicts and up to dating the lock file

Co-authored-by: Chayim I. Kirshen <c@kirshen.com>
2 years ago
Mahmoud Harmouch e5e887229a
Implement page function (#339)
* implement page function

Signed-off-by: wiseaidev <business@wiseai.dev>

* add unit tests

Signed-off-by: wiseaidev <business@wiseai.dev>

* fix linter issues

Signed-off-by: wiseaidev <business@wiseai.dev>
2 years ago
Mahmoud Harmouch ac6a75be19
fixed a potential bug (#337)
* fixed a potential bug

Signed-off-by: wiseaidev <business@wiseai.dev>

* add unit tests

Signed-off-by: wiseaidev <business@wiseai.dev>

* remove unnecessary logic related to six module

Signed-off-by: wiseaidev <business@wiseai.dev>

* remove six from dependencies

Signed-off-by: wiseaidev <business@wiseai.dev>

* pass "ignore" as a kwarg

Signed-off-by: wiseaidev <business@wiseai.dev>

* get rid of try catch and simplify logic

Signed-off-by: wiseaidev <business@wiseai.dev>

* rm poetry.lock

Signed-off-by: wiseaidev <business@wiseai.dev>

* rm poetry.lock

Signed-off-by: wiseaidev <business@wiseai.dev>

* run black

Signed-off-by: wiseaidev <business@wiseai.dev>

* fix mypy issue

Signed-off-by: wiseaidev <business@wiseai.dev>

* adjust other tests accordingly

Signed-off-by: wiseaidev <business@wiseai.dev>
2 years ago
Simon Prickett 3f91f9e941
Updating default page size to 1000 from 10 (#282)
Fixed page size problem with `all()`

The default page size for `all` is supposed to be 1000 not 10, for performance reasons.  When I changed the constant `DEFAULT_PAGE_SIZE` a while back, I seem to have forgotten to have changed it here.  This fixes that.
2 years ago
Serhii Charykov 490fcec1a7 Fix DeprecationWarning '@pytest.fixture' 2 years ago
Simon Prickett 129ef956b8 Performance improvement for first - avoids unnecessary pagination. 2 years ago
Simon Prickett 32b0774053 Fixed typo in error message. 2 years ago
Simon Prickett fd151fc322 Updated page size to 1000 from 10. 2 years ago
Simon Prickett 70e1f5952d Removed dotenv dependency and code. 2 years ago
Simon Prickett 274ff788b1 Adds all_pks() method and test. 2 years ago
Simon Prickett 6193c238d8 Fixed linter issue. 2 years ago
Simon Prickett f5b507369c Adds error if user attempts to create an index in DB > 0. 2 years ago
Simon Prickett b42e63606a Adds expire and test. 2 years ago
Simon Prickett 6d009a0d72 Fixed linter errors, refactored delete. 2 years ago
Simon Prickett 885b24b35b Adds delete function at a class level. 2 years ago
Simon Prickett 275aff2902 Fixed linter issue. 2 years ago
Simon Prickett 7fa62da881 Linter fixes. 2 years ago
Simon Prickett 544a9c0d64
Merge pull request #74 from redis/bugfix/#73-module-list-not-working-on-redis-enterprise
Changed the way that modules are detected to work with Redis Enterprise
2 years ago
Simon Prickett d60fce5231 Fixed check for presence of modules. 2 years ago
Simon Prickett e9fbd56e4e Changed the way that modules are detected to work with Redis Enterprise and OSS. 2 years ago
Simon Prickett 800ec69565
Attempts to fix full text search fields
Adds field name alias to fix full text searches.

Closes #42
2 years ago
Andrew Brookins e4e3583006 Document some possible error messages 3 years ago
Andrew Brookins 269d44c26e Final docs push 3 years ago
Andrew Brookins 321b356140 Switch to using Protocols with typing_extensions 3 years ago
Andrew Brookins 1e40eb1649 Fix Python 3.7 compatibility 3 years ago
Andrew Brookins a0f10cc056 Remove unused Protocol import 3 years ago
Andrew Brookins d73c8309ca Fix lint issues 3 years ago
Andrew Brookins 5ab53c916c Support both sync and asyncio uses 3 years ago
Andrew Brookins ca6ae7d6e9 Merge branch 'main' into asyncio 3 years ago