<div align="center">
![RushDB Logo](https://raw.githubusercontent.com/rush-db/rushdb/main/rushdb-logo.svg)
# RushDB Python SDK
### The Instant Database for Modern Apps and DS/ML Ops
RushDB is an open-source database built on Neo4j, designed to simplify application development.
It automates data normalization, manages relationships, and infers data types, enabling developers to focus on building features rather than wrestling with data.
[🌐 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/rushdb/examples)
</div>
## 🚀 Feature Highlights
### 1. **Data modeling is optional**
Push data of any shape—RushDB handles relationships, data types, and more automatically.
### 2. **Automatic type inference**
Minimizes overhead while optimizing performance for high-speed searches.
### 3. **Powerful search API**
Query data with accuracy using the graph-powered search API.
### 4. **Flexible data import**
Easily import data in `JSON`, `CSV`, or `JSONB`, creating data-rich applications fast.
### 5. **Developer-Centric Design**
RushDB prioritizes DX with an intuitive and consistent API.
### 6. **REST API Readiness**
A REST API with SDK-like DX for every operation: manage relationships, create, delete, and search effortlessly. Same DTO everywhere.
---
## Installation
Install the RushDB Python SDK via pip:
```sh
pip install rushdb
```
---
## Usage
### **1. Setup SDK**
```python
from rushdb import RushDB
db = RushDB("API_TOKEN", url="https://api.rushdb.com")
```
---
### **2. Push any JSON data**
```python
company_data = {
"label": "COMPANY",
"payload": {
"name": "Google LLC",
"address": "1600 Amphitheatre Parkway, Mountain View, CA 94043, USA",
"foundedAt": "1998-09-04T00:00:00.000Z",
"rating": 4.9,
"DEPARTMENT": [{
"name": "Research & Development",
"description": "Innovating and creating advanced technologies for AI, cloud computing, and consumer devices.",
"PROJECT": [{
"name": "Bard AI",
"description": "A state-of-the-art generative AI model for natural language understanding and creation.",
"active": True,
"budget": 1200000000,
"EMPLOYEE": [{
"name": "Jeff Dean",
"position": "Head of AI Research",
"email": "jeff@google.com",
"dob": "1968-07-16T00:00:00.000Z",
"salary": 3000000
}]
}]
}]
}
}
db.records.create_many(company_data)
```
---
### **3. Find Records by specific criteria**
```python
query = {
"labels": ["EMPLOYEE"],
"where": {
"position": {"$contains": "AI"},
"PROJECT": {
"DEPARTMENT": {
"COMPANY": {
"rating": {"$gte": 4}
}
}
}
}
}
matched_employees = db.records.find(query)
company = db.records.find_uniq("COMPANY", {"where": {"name": "Google LLC"}})
```
---
### **4. Use REST API with cURL**
```sh
curl -X POST https://api.rushdb.com/api/v1/records/search \
-H "Authorization: Bearer API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"labels": ["EMPLOYEE"],
"where": {
"position": { "$contains": "AI" },
"PROJECT": {
"DEPARTMENT": {
"COMPANY": {
"rating": { "$gte": 4 }
}
}
}
}
}'
```
<div align="center">
<b>You Rock</b> 🚀
</div>
---
<div align="center" style="margin-top: 20px">
> Check the [Documentation](https://docs.rushdb.com) and [Examples](https://github.com/rush-db/rushdb/examples) to learn more 🧐
</div>
Raw data
{
"_id": null,
"home_page": "https://github.com/rushdb/rushdb-python",
"name": "rushdb",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "database, graph database, instant database, instant-database, instantdatabase, instant db, instant-db, instantdb, neo4j, cypher, ai, ai database, etl, data-pipeline, data science, data-science, data management, data-management, machine learning, machine-learning, persistence, db, graph, graphs, graph-database, self-hosted, rush-db, rush db, rushdb",
"author": "RushDB Team",
"author_email": "hi@rushdb.com",
"download_url": "https://files.pythonhosted.org/packages/0d/c7/9015808735312708bb86e12e7d4932c97f5590b19df204bc309b629d18f4/rushdb-0.1.0.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n\n![RushDB Logo](https://raw.githubusercontent.com/rush-db/rushdb/main/rushdb-logo.svg)\n\n# RushDB Python SDK\n### The Instant Database for Modern Apps and DS/ML Ops\n\nRushDB is an open-source database built on Neo4j, designed to simplify application development.\n\nIt automates data normalization, manages relationships, and infers data types, enabling developers to focus on building features rather than wrestling with data.\n\n[\ud83c\udf10 Homepage](https://rushdb.com) \u2014 [\ud83d\udce2 Blog](https://rushdb.com/blog) \u2014 [\u2601\ufe0f Platform ](https://app.rushdb.com) \u2014 [\ud83d\udcda Docs](https://docs.rushdb.com) \u2014 [\ud83e\uddd1\u200d\ud83d\udcbb Examples](https://github.com/rush-db/rushdb/examples)\n</div>\n\n## \ud83d\ude80 Feature Highlights\n\n### 1. **Data modeling is optional**\nPush data of any shape\u2014RushDB handles relationships, data types, and more automatically.\n\n### 2. **Automatic type inference**\nMinimizes overhead while optimizing performance for high-speed searches.\n\n### 3. **Powerful search API**\nQuery data with accuracy using the graph-powered search API.\n\n### 4. **Flexible data import**\nEasily import data in `JSON`, `CSV`, or `JSONB`, creating data-rich applications fast.\n\n### 5. **Developer-Centric Design**\nRushDB prioritizes DX with an intuitive and consistent API.\n\n### 6. **REST API Readiness**\nA REST API with SDK-like DX for every operation: manage relationships, create, delete, and search effortlessly. Same DTO everywhere.\n\n---\n\n## Installation\n\nInstall the RushDB Python SDK via pip:\n\n```sh\npip install rushdb\n```\n\n---\n\n## Usage\n\n### **1. Setup SDK**\n\n```python\nfrom rushdb import RushDB\n\ndb = RushDB(\"API_TOKEN\", url=\"https://api.rushdb.com\")\n```\n\n---\n\n### **2. Push any JSON data**\n\n```python\ncompany_data = {\n \"label\": \"COMPANY\",\n \"payload\": {\n \"name\": \"Google LLC\",\n \"address\": \"1600 Amphitheatre Parkway, Mountain View, CA 94043, USA\",\n \"foundedAt\": \"1998-09-04T00:00:00.000Z\",\n \"rating\": 4.9,\n \"DEPARTMENT\": [{\n \"name\": \"Research & Development\",\n \"description\": \"Innovating and creating advanced technologies for AI, cloud computing, and consumer devices.\",\n \"PROJECT\": [{\n \"name\": \"Bard AI\",\n \"description\": \"A state-of-the-art generative AI model for natural language understanding and creation.\",\n \"active\": True,\n \"budget\": 1200000000,\n \"EMPLOYEE\": [{\n \"name\": \"Jeff Dean\",\n \"position\": \"Head of AI Research\",\n \"email\": \"jeff@google.com\",\n \"dob\": \"1968-07-16T00:00:00.000Z\",\n \"salary\": 3000000\n }]\n }]\n }]\n }\n}\n\ndb.records.create_many(company_data)\n```\n\n---\n\n### **3. Find Records by specific criteria**\n\n```python\nquery = {\n \"labels\": [\"EMPLOYEE\"],\n \"where\": {\n \"position\": {\"$contains\": \"AI\"},\n \"PROJECT\": {\n \"DEPARTMENT\": {\n \"COMPANY\": {\n \"rating\": {\"$gte\": 4}\n }\n }\n }\n }\n}\n\nmatched_employees = db.records.find(query)\n\ncompany = db.records.find_uniq(\"COMPANY\", {\"where\": {\"name\": \"Google LLC\"}})\n```\n\n---\n\n### **4. Use REST API with cURL**\n\n```sh\ncurl -X POST https://api.rushdb.com/api/v1/records/search \\\n-H \"Authorization: Bearer API_TOKEN\" \\\n-H \"Content-Type: application/json\" \\\n-d '{\n \"labels\": [\"EMPLOYEE\"],\n \"where\": {\n \"position\": { \"$contains\": \"AI\" },\n \"PROJECT\": {\n \"DEPARTMENT\": {\n \"COMPANY\": {\n \"rating\": { \"$gte\": 4 }\n }\n }\n }\n }\n}'\n```\n\n<div align=\"center\">\n<b>You Rock</b> \ud83d\ude80\n</div>\n\n---\n\n<div align=\"center\" style=\"margin-top: 20px\">\n\n> Check the [Documentation](https://docs.rushdb.com) and [Examples](https://github.com/rush-db/rushdb/examples) to learn more \ud83e\uddd0\n\n</div>\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "RushDB Python SDK",
"version": "0.1.0",
"project_urls": {
"Documentation": "https://docs.rushdb.com",
"Homepage": "https://github.com/rushdb/rushdb-python",
"Repository": "https://github.com/rushdb/rushdb-python"
},
"split_keywords": [
"database",
" graph database",
" instant database",
" instant-database",
" instantdatabase",
" instant db",
" instant-db",
" instantdb",
" neo4j",
" cypher",
" ai",
" ai database",
" etl",
" data-pipeline",
" data science",
" data-science",
" data management",
" data-management",
" machine learning",
" machine-learning",
" persistence",
" db",
" graph",
" graphs",
" graph-database",
" self-hosted",
" rush-db",
" rush db",
" rushdb"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c2a2f49e8bcd799809457ae10a4b37c52a3c9a5f1250fcdc1b5e128adf67086a",
"md5": "f71b7753a9030941c782c2c3177e6fed",
"sha256": "9fd2b0f7f05adadae13ad6b64c8d846daa1fb03bc3497aece4de9df59c0a20a0"
},
"downloads": -1,
"filename": "rushdb-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f71b7753a9030941c782c2c3177e6fed",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 17025,
"upload_time": "2025-02-02T18:13:32",
"upload_time_iso_8601": "2025-02-02T18:13:32.982428Z",
"url": "https://files.pythonhosted.org/packages/c2/a2/f49e8bcd799809457ae10a4b37c52a3c9a5f1250fcdc1b5e128adf67086a/rushdb-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0dc79015808735312708bb86e12e7d4932c97f5590b19df204bc309b629d18f4",
"md5": "7689622d6b98a51ddd19642cce86960a",
"sha256": "b2982b67684df04bce1543337ccceeeeb83cac0a74b08c11d94bcfe26b1876a2"
},
"downloads": -1,
"filename": "rushdb-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "7689622d6b98a51ddd19642cce86960a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 14008,
"upload_time": "2025-02-02T18:13:34",
"upload_time_iso_8601": "2025-02-02T18:13:34.772687Z",
"url": "https://files.pythonhosted.org/packages/0d/c7/9015808735312708bb86e12e7d4932c97f5590b19df204bc309b629d18f4/rushdb-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-02 18:13:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rushdb",
"github_project": "rushdb-python",
"github_not_found": true,
"lcname": "rushdb"
}