Skip to content

Commit 85038ac

Browse files
committed
Update readme, website, add python package and examples
1 parent 476acdf commit 85038ac

File tree

16 files changed

+1443
-70
lines changed

16 files changed

+1443
-70
lines changed

.changeset/late-clocks-brush.md

-9
This file was deleted.

.changeset/old-hounds-flash.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
'@rushdb/javascript-sdk': minor
3+
'rushdb-dashboard': minor
4+
'rushdb-core': minor
5+
'rushdb-website': minor
6+
'rushdb-docs': minor
7+
---
8+
9+
Update readme, website, add python package and examples

README.md

+113-25
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,13 @@
55
# RushDB
66
### The Instant Database for Modern Apps and DS/ML Ops
77

8-
RushDB is an open-source database built on Neo4j, designed to simplify application development.
8+
RushDB is an instant database for modern apps and DS/ML ops built on top of Neo4j.
99

1010
It automates data normalization, manages relationships, and infers data types, enabling developers to focus on building features rather than wrestling with data.
1111

1212
[🌐 Homepage](https://rushdb.com)[📢 Blog](https://rushdb.com/blog)[☁️ Platform ](https://app.rushdb.com)[📖 Docs](https://docs.rushdb.com)[🧑‍💻 Examples](https://github.com/rush-db/examples)
1313
</div>
1414

15-
## 🚀 Feature Highlights
16-
17-
### 1. **Data modeling is optional**
18-
Push data of any shape—RushDB handles relationships, data types, and more automatically.
19-
20-
### 2. **Automatic type inference**
21-
Minimizes overhead while optimizing performance for high-speed searches.
22-
23-
### 3. **Powerful search API**
24-
Query data with accuracy using the graph-powered search API.
25-
26-
### 4. **Flexible data import**
27-
Easily import data in `JSON`, `CSV`, or `JSONB`, creating data-rich applications fast.
28-
29-
### 5. **Developer-Centric Design**
30-
RushDB prioritizes DX with an intuitive and consistent API.
31-
32-
### 6. **REST API Readiness**
33-
A REST API with SDK-like DX for every operation: manage relationships, create, delete, and search effortlessly. Same DTO everywhere.
34-
3515
---
3616

3717
## Setup
@@ -123,6 +103,42 @@ Before running the container, ensure you provide the following required environm
123103

124104
---
125105

106+
<details>
107+
<summary>Development Setup with local Neo4j [DOCKER COMPOSE]</summary>
108+
109+
```yaml
110+
version: '3.8'
111+
services:
112+
rushdb:
113+
image: rushdb/platform
114+
container_name: rushdb
115+
depends_on:
116+
neo4j:
117+
condition: service_healthy
118+
ports:
119+
- "3000:3000"
120+
environment:
121+
- NEO4J_URL=bolt://neo4j
122+
- NEO4J_USERNAME=neo4j
123+
- NEO4J_PASSWORD=password
124+
neo4j:
125+
image: neo4j:5.25.1
126+
healthcheck:
127+
test: [ "CMD-SHELL", "wget --no-verbose --tries=1 --spider localhost:7474 || exit 1" ]
128+
interval: 5s
129+
retries: 30
130+
start_period: 10s
131+
ports:
132+
- "7474:7474"
133+
- "7687:7687"
134+
environment:
135+
- NEO4J_ACCEPT_LICENSE_AGREEMENT=yes
136+
- NEO4J_AUTH=neo4j/password
137+
- NEO4J_PLUGINS=["apoc"]
138+
```
139+
</details>
140+
141+
126142
### **CLI Commands**
127143

128144
The RushDB CLI allows you to manage users in self-hosted installations. Below are the available commands:
@@ -166,8 +182,82 @@ This command updates the password for an existing user identified by the provide
166182
2. **Build Anything**:
167183
Easily push, search, and manage relationships within your data.
168184

185+
### With Python
186+
187+
Explore the [Documentation](https://docs.rushdb.com/python-sdk/records-api)
188+
189+
#### Install the SDK
190+
191+
```bash
192+
pip install rushdb
193+
```
194+
195+
#### Push any json data
196+
197+
```python
198+
from rushdb import RushDB
199+
200+
db = RushDB(
201+
"rushdb-api-key",
202+
# Default URL; only override if necessary.
203+
base_url="https://api.rushdb.com",
204+
)
205+
206+
db.records.create_many(
207+
"COMPANY",
208+
{
209+
"name": "Google LLC",
210+
"address": "1600 Amphitheatre Parkway, Mountain View, CA 94043, USA",
211+
"foundedAt": "1998-09-04T00:00:00.000Z",
212+
"rating": 4.9,
213+
"DEPARTMENT": [
214+
{
215+
"name": "Research & Development",
216+
"description": "Innovating and creating advanced technologies for AI, cloud computing, and consumer devices.",
217+
"tags": ["AI", "Cloud Computing", "Research"],
218+
"profitable": true,
219+
"PROJECT": [
220+
{
221+
"name": "Bard AI",
222+
"description": "A state-of-the-art generative AI model for natural language understanding and creation.",
223+
"active": true,
224+
"budget": 1200000000,
225+
"EMPLOYEE": [
226+
{
227+
"name": "Jeff Dean",
228+
"position": "Head of AI Research",
229+
"email": "[email protected]",
230+
"salary": 3000000,
231+
}
232+
],
233+
}
234+
],
235+
}
236+
],
237+
},
238+
)
239+
```
240+
241+
#### Find Records by specific criteria
242+
```python
243+
# Find Records by specific criteria
244+
matched_employees = db.records.find(
245+
{
246+
"labels": ["EMPLOYEE"],
247+
"where": {
248+
"position": {"$contains": "AI"},
249+
"PROJECT": {"DEPARTMENT": {"COMPANY": {"rating": {"$gte": 4}}}},
250+
},
251+
}
252+
)
253+
254+
```
255+
---
256+
169257
### With TypeScript / JavaScript
170258

259+
Explore the [Documentation](https://docs.rushdb.com)
260+
171261
#### Install the SDK
172262

173263
```bash
@@ -238,6 +328,8 @@ const company = await db.records.findUniq('COMPANY', {
238328

239329
### With REST API and cURL
240330

331+
Explore the [Documentation](https://docs.rushdb.com)
332+
241333
#### Specify API base URL
242334

243335
- **RushDB Cloud**: `https://api.rushdb.com`
@@ -298,10 +390,6 @@ curl -X POST https://api.rushdb.com/api/v1/records/search \
298390
}'
299391
```
300392

301-
<div align="center">
302-
<b>You Rock</b> 🚀
303-
</div>
304-
305393
---
306394

307395
<div align="center" style="margin-top: 20px">

docs/docs/python-sdk/_category_.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"label": "Python SDK",
3+
"position": 3,
4+
"collapsed": false,
5+
"collapsible": false
6+
}

0 commit comments

Comments
 (0)