# Official Python client for RavenDB NoSQL Database
## Installation
Install from [PyPi](https://pypi.python.org/pypi), as [ravendb](https://pypi.org/project/ravendb/).
```bash
pip install ravendb
```
## Introduction
Python client API (v7.1) for [RavenDB](https://ravendb.net/) , a NoSQL document database.
**Type-hinted entire project and API results** - using the API is now much more comfortable with IntelliSense
## Releases
* [Click here](https://github.com/ravendb/ravendb-python-client/releases) to view all Releases and Changelog.
## What's new?
###### 5.2.5+
- Changes available in the [releases](https://github.com/ravendb/ravendb-python-client/releases) section.
###### 5.2.4
- Bulk insert dependencies [bugfix](https://github.com/ravendb/ravendb-python-client/pull/184)
###### 5.2.3
- **Counters**
- Counters indexes
###### 5.2.2
- New feature - **[Bulk insert](https://github.com/ravendb/ravendb-python-client/pull/161)**
- Bugfixes - Cluster-wide operations ([here](https://github.com/ravendb/ravendb-python-client/pull/166))
###### 5.2.1
- Bugfixes - Serialization while loading/querying ([here](https://github.com/ravendb/ravendb-python-client/pull/163))
###### 5.2.0
- **Subscriptions**
- Document streams
- Secured subscriptions
- **Querying**
- Major bugfixes
- Spatial querying and indexing
- Highlighting fixes
- **Custom document parsers & loaders**
###### 5.2.0b3
- **New features**
- Conditional Load
- SelectFields & Facets
- Projections
- MoreLikeThis
- Suggestions
- **Improvements**
- Compare exchange
- Querying
- DocumentConventions
- Patching
- Spatial queries
- Aggregations
###### 5.2.0b2
- **Lazy Operations**
- Lazy loading
- Lazy querying
- Lazy compare exchange operations
- **Structure**
- Important classes are now available to import from the top level `ravendb` module
...and many bugfixes
----
###### 5.2.0b1
- **Querying**
- Simpler, well type hinted querying
- Group by, aggregations
- Spatial querying
- Boost, fuzzy, proximity
- Subclauses support
- **Static Indexes**
- Store fields, index fields, pick analyzers & more using `AbstractIndexCreationTask`
- Full indexes CRUD
- Index related commands (priority, erros, start/stop, pause, lock)
- Additional assemblies, map-reduce, index query with results "of_type"
- **CRUD**
- Type hints for results and includes
- Support for dataclasses
------
- **Attachments**
- New attachments API
- Better type hints
- **HTTPS**
- Support for https connection
- Certificates CRUD operations
-----
- **Lazy load**
- New feature
- **Cluster Transactions, Compare Exchange**
- New feature
-----
### **Coming soon, work in progress**
- Replication & ETL Commands
- Streaming (https://github.com/ravendb/ravendb-python-client/pull/168)
----
### Demo
##### Working with secured server
```python
from ravendb import DocumentStore
URLS = ["https://raven.server.url"]
DB_NAME = "SecuredDemo"
CERT_PATH = "path\\to\\cert.pem"
class User:
def __init__(self, name: str, tag: str):
self.name = name
self.tag = tag
store = DocumentStore(URLS, DB_NAME)
store.certificate_pem_path = CERT_PATH
store.initialize()
user = User("Gracjan", "Admin")
with store.open_session() as session:
session.store(user, "users/1")
session.save_changes()
with store.open_session() as session:
user = session.load("users/1", User)
assert user.name == "Gracjan"
assert user.tag == "Admin"
```
----
#### RavenDB Documentation
https://ravendb.net/docs/article-page/5.3/python
----
#### GitHub
https://github.com/ravendb/ravendb-python-client
-----
##### Bug Tracker
http://issues.hibernatingrhinos.com/issues/RDBC
Raw data
{
"_id": null,
"home_page": "https://github.com/ravendb/ravendb-python-client",
"name": "ravendb",
"maintainer": null,
"docs_url": null,
"requires_python": "~=3.9",
"maintainer_email": null,
"keywords": "ravendb, nosql, databasepyravendb",
"author": "RavenDB",
"author_email": "support@ravendb.net",
"download_url": "https://files.pythonhosted.org/packages/5f/41/bb8e722b1b4be659bc74c32e743584ba17c8f411e0069831d62f7569fe9f/ravendb-7.1.2.post1.tar.gz",
"platform": null,
"description": "\r\n# Official Python client for RavenDB NoSQL Database\r\n\r\n## Installation\r\nInstall from [PyPi](https://pypi.python.org/pypi), as [ravendb](https://pypi.org/project/ravendb/).\r\n```bash\r\npip install ravendb\r\n```\r\n\r\n## Introduction\r\nPython client API (v7.1) for [RavenDB](https://ravendb.net/) , a NoSQL document database.\r\n\r\n**Type-hinted entire project and API results** - using the API is now much more comfortable with IntelliSense\r\n\r\n## Releases\r\n\r\n* [Click here](https://github.com/ravendb/ravendb-python-client/releases) to view all Releases and Changelog.\r\n\r\n## What's new?\r\n\r\n###### 5.2.5+\r\n- Changes available in the [releases](https://github.com/ravendb/ravendb-python-client/releases) section.\r\n\r\n###### 5.2.4\r\n- Bulk insert dependencies [bugfix](https://github.com/ravendb/ravendb-python-client/pull/184) \r\n\r\n###### 5.2.3\r\n- **Counters**\r\n- Counters indexes\r\n\r\n###### 5.2.2\r\n- New feature - **[Bulk insert](https://github.com/ravendb/ravendb-python-client/pull/161)**\r\n- Bugfixes - Cluster-wide operations ([here](https://github.com/ravendb/ravendb-python-client/pull/166))\r\n\r\n###### 5.2.1\r\n- Bugfixes - Serialization while loading/querying ([here](https://github.com/ravendb/ravendb-python-client/pull/163))\r\n\r\n###### 5.2.0\r\n- **Subscriptions**\r\n - Document streams\r\n - Secured subscriptions\r\n\r\n\r\n- **Querying**\r\n - Major bugfixes\r\n - Spatial querying and indexing\r\n - Highlighting fixes\r\n - **Custom document parsers & loaders**\r\n \r\n \r\n###### 5.2.0b3\r\n- **New features**\r\n - Conditional Load\r\n - SelectFields & Facets\r\n - Projections\r\n - MoreLikeThis\r\n - Suggestions\r\n\r\n\r\n- **Improvements**\r\n - Compare exchange\r\n - Querying\r\n - DocumentConventions\r\n - Patching\r\n - Spatial queries\r\n - Aggregations\r\n\r\n\r\n###### 5.2.0b2\r\n\r\n- **Lazy Operations**\r\n - Lazy loading\r\n - Lazy querying\r\n - Lazy compare exchange operations\r\n\r\n\r\n- **Structure**\r\n - Important classes are now available to import from the top level `ravendb` module\r\n\r\n\r\n...and many bugfixes\r\n\r\n----\r\n\r\n###### 5.2.0b1\r\n\r\n- **Querying** \r\n - Simpler, well type hinted querying\r\n - Group by, aggregations\r\n - Spatial querying\r\n - Boost, fuzzy, proximity\r\n - Subclauses support\r\n \r\n\r\n \r\n- **Static Indexes**\r\n - Store fields, index fields, pick analyzers & more using `AbstractIndexCreationTask`\r\n - Full indexes CRUD\r\n - Index related commands (priority, erros, start/stop, pause, lock)\r\n - Additional assemblies, map-reduce, index query with results \"of_type\" \r\n \r\n \r\n- **CRUD**\r\n - Type hints for results and includes\r\n - Support for dataclasses\r\n \r\n ------\r\n\r\n\r\n- **Attachments**\r\n - New attachments API\r\n - Better type hints \r\n\r\n\r\n- **HTTPS**\r\n - Support for https connection\r\n - Certificates CRUD operations\r\n\r\n-----\r\n\r\n- **Lazy load**\r\n - New feature\r\n\r\n\r\n- **Cluster Transactions, Compare Exchange**\r\n - New feature\r\n \r\n-----\r\n\r\n### **Coming soon, work in progress**\r\n- Replication & ETL Commands\r\n- Streaming (https://github.com/ravendb/ravendb-python-client/pull/168)\r\n\r\n----\r\n\r\n### Demo\r\n\r\n##### Working with secured server\r\n```python\r\nfrom ravendb import DocumentStore\r\n\r\nURLS = [\"https://raven.server.url\"]\r\nDB_NAME = \"SecuredDemo\"\r\nCERT_PATH = \"path\\\\to\\\\cert.pem\"\r\n\r\n\r\nclass User:\r\n def __init__(self, name: str, tag: str):\r\n self.name = name\r\n self.tag = tag\r\n\r\n\r\nstore = DocumentStore(URLS, DB_NAME)\r\nstore.certificate_pem_path = CERT_PATH\r\nstore.initialize()\r\nuser = User(\"Gracjan\", \"Admin\")\r\n\r\nwith store.open_session() as session:\r\n session.store(user, \"users/1\")\r\n session.save_changes()\r\n\r\nwith store.open_session() as session:\r\n user = session.load(\"users/1\", User)\r\n assert user.name == \"Gracjan\"\r\n assert user.tag == \"Admin\"\r\n```\r\n----\r\n#### RavenDB Documentation\r\nhttps://ravendb.net/docs/article-page/5.3/python\r\n\r\n----\r\n#### GitHub\r\nhttps://github.com/ravendb/ravendb-python-client\r\n\r\n-----\r\n##### Bug Tracker\r\nhttp://issues.hibernatingrhinos.com/issues/RDBC\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python client for RavenDB NoSQL Database",
"version": "7.1.2.post1",
"project_urls": {
"Homepage": "https://github.com/ravendb/ravendb-python-client"
},
"split_keywords": [
"ravendb",
" nosql",
" databasepyravendb"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6c4c9c2fe7fc748797e03c8fbd84f612297b5d4e513dae1668122663048e10c7",
"md5": "916ccc72b7a3f44d3344295c2258b085",
"sha256": "96ad32ea80d72afbb5d0f9b3d95d0be1db521998d4d0dc29414c39382880c3ad"
},
"downloads": -1,
"filename": "ravendb-7.1.2.post1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "916ccc72b7a3f44d3344295c2258b085",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "~=3.9",
"size": 355656,
"upload_time": "2025-09-01T12:17:25",
"upload_time_iso_8601": "2025-09-01T12:17:25.981233Z",
"url": "https://files.pythonhosted.org/packages/6c/4c/9c2fe7fc748797e03c8fbd84f612297b5d4e513dae1668122663048e10c7/ravendb-7.1.2.post1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5f41bb8e722b1b4be659bc74c32e743584ba17c8f411e0069831d62f7569fe9f",
"md5": "ffffccbce26aab77ccaa502f6263c09b",
"sha256": "f2bcaa4d12906792caf29d666200ed92a864ee4483a5809ddaacdc3c6eb1b970"
},
"downloads": -1,
"filename": "ravendb-7.1.2.post1.tar.gz",
"has_sig": false,
"md5_digest": "ffffccbce26aab77ccaa502f6263c09b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "~=3.9",
"size": 282987,
"upload_time": "2025-09-01T12:17:27",
"upload_time_iso_8601": "2025-09-01T12:17:27.604178Z",
"url": "https://files.pythonhosted.org/packages/5f/41/bb8e722b1b4be659bc74c32e743584ba17c8f411e0069831d62f7569fe9f/ravendb-7.1.2.post1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-01 12:17:27",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ravendb",
"github_project": "ravendb-python-client",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ravendb"
}