Repository navigation
feat!: 3.0 — RushDB Cloud and self-hosted engine (direct mode) - #24
Merged
Merged
Conversation
- Direct mode routes every SDK call to a standalone rushdbd; Cloud-only methods raise CloudOnlyError, unstageable transaction writes raise DirectModeError, before anything is sent. - Transactions stage creates, update, set, delete_by_id, attach and imports; detach without a type removes every type both ways. - Keyword search (records.text_search), text indexes (db.text_indexes), hybrid vector search options, search meta on results. - Breaking: records.find raises instead of returning an empty result; ImportsAPI (import runs/uploads, no server) removed. - Fixed: find_by_id of several ids, export route, import_* when returnResult is off. - Version 3.0.0.
From 3.0 the self-hostable part of RushDB is the engine (rushdbd), reached in direct mode. The dashboard, managed embeddings and the AI features are part of RushDB Cloud. Remove the remaining mentions of a self-hosted platform: mode tables, the `url` option (a RushDB Cloud API endpoint), RUSHDB_API_URL, and the traversal notes (an omitted hops.max means up to 10 hops; there is no unbounded traversal).
- The SDK has no runtime dependencies: it never imported `requests` or `python-dotenv` (the client uses urllib), so installing it no longer pulls in requests/urllib3/idna. python-dotenv moves to the dev group (the test setup loads .env); types-requests is dropped. - Dev tooling raised to patched releases: black >= 26.3.1, pytest >= 9.0.3, Pygments >= 2.20.0, python-dotenv >= 1.2.2. - requires-python >= 3.10 (3.8 and 3.9 are end-of-life, and the patched tools need 3.10); CI matrix 3.10-3.13. ruff stays on 0.12.x so the upgrade does not change the lint rule set. - One dev dependency list ([dependency-groups]); the duplicate `dev` extra is removed. Closes Dependabot alerts 5-9, 11-19 (urllib3, requests, idna, python-dotenv, black, pytest, Pygments).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
RushDB 3.0: RushDB Cloud and a self-hosted engine
direct=True,engine_url): every SDK call is routed to a self-hostedrushdbd. Cloud-only methods raiseCloudOnlyError; transaction writes the engine cannot stage raiseDirectModeError— before anything is sent.update,set,delete_by_id,attachand imports;detachwithout a type removes every type both ways.records.text_search,db.text_indexes, hybrid options onvector_search, searchmetaon results.records.findraises instead of returning an empty result;ImportsAPI(import runs/uploads — no server implements them) removed.find_by_idof several ids, the export route,import_*withreturnResultoff.Release order — step 5
Merge, then publish by tagging
v3.0.0(the publish job runs onv*tags).rushdb-hermes-memoryrequiresrushdb>=3.0.0.Tests
105 unit tests; 10 live tests against a real engine (
RUSHDB_TEST_ENGINE_URL). black, isort, ruff and mypy clean.Dependencies and security (resolves all 14 open Dependabot alerts)
requestsorpython-dotenv(the client usesurllib), sopip install rushdbno longer pulls inrequests,urllib3oridna.python-dotenvmoves to the dev group;types-requestsis dropped.black>=26.3.1,pytest>=9.0.3,Pygments>=2.20.0,python-dotenv>=1.2.2.requires-python >= 3.10(3.8 and 3.9 are end-of-life; the patched tools need 3.10). CI matrix 3.10–3.13.ruffstays on 0.12.x so the lint rule set does not change.devextra is removed;[dependency-groups].devis the one dev list.