ravendb


Nameravendb JSON
Version 5.2.6 PyPI version JSON
download
home_pagehttps://github.com/ravendb/ravendb-python-client
SummaryPython client for RavenDB NoSQL Database
upload_time2024-03-07 12:22:13
maintainer
docs_urlNone
authorRavenDB
requires_python~=3.7
licenseMIT
keywords ravendb nosql databasepyravendb
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 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 (v5.2) for [RavenDB](https://ravendb.net/) , a NoSQL document database.

Although new API isn't compatible with the previous one, it comes with **many improvements and new features**.

**Package has been reworked to match Java and other RavenDB clients**

**Type-hinted entire project and API results** - using the API is now much more comfortable with IntelliSense


## Releases

* All client versions 5.2.x are fully compatible with and support RavenDB server releases 5.4 and 6.0.

* [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**
- Counters & Time Series
- Replication & ETL Commands
- Streaming (ready, will be merged on v5.4 - 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": "",
    "docs_url": null,
    "requires_python": "~=3.7",
    "maintainer_email": "",
    "keywords": "ravendb,nosql,databasepyravendb",
    "author": "RavenDB",
    "author_email": "support@ravendb.net",
    "download_url": "https://files.pythonhosted.org/packages/ae/93/53da1d70152fe8ec8996071a05a9659ae51d9bc310dea898b1bb1ac09441/ravendb-5.2.6.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 (v5.2) for [RavenDB](https://ravendb.net/) , a NoSQL document database.\r\n\r\nAlthough new API isn't compatible with the previous one, it comes with **many improvements and new features**.\r\n\r\n**Package has been reworked to match Java and other RavenDB clients**\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\r\n## Releases\r\n\r\n* All client versions 5.2.x are fully compatible with and support RavenDB server releases 5.4 and 6.0.\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- Counters & Time Series\r\n- Replication & ETL Commands\r\n- Streaming (ready, will be merged on v5.4 - 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": "5.2.6",
    "project_urls": {
        "Homepage": "https://github.com/ravendb/ravendb-python-client"
    },
    "split_keywords": [
        "ravendb",
        "nosql",
        "databasepyravendb"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "28730145b5d39f421f1b4409694e3a28f007224584fb48f76046ec87d76941d1",
                "md5": "5b43f3e993d97cabcaba665c2f583a91",
                "sha256": "65eeb38144141551982412c3c2c1ec43f40e93237fdcfda5dbb4d892d7a1bd35"
            },
            "downloads": -1,
            "filename": "ravendb-5.2.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5b43f3e993d97cabcaba665c2f583a91",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.7",
            "size": 329304,
            "upload_time": "2024-03-07T12:22:11",
            "upload_time_iso_8601": "2024-03-07T12:22:11.661284Z",
            "url": "https://files.pythonhosted.org/packages/28/73/0145b5d39f421f1b4409694e3a28f007224584fb48f76046ec87d76941d1/ravendb-5.2.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ae9353da1d70152fe8ec8996071a05a9659ae51d9bc310dea898b1bb1ac09441",
                "md5": "738d51f68e88f677332ebbd6f88cbd2d",
                "sha256": "90a54f891369d409097ac11210cb943f7b11a372db4f59790d082db9a81e86c0"
            },
            "downloads": -1,
            "filename": "ravendb-5.2.6.tar.gz",
            "has_sig": false,
            "md5_digest": "738d51f68e88f677332ebbd6f88cbd2d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.7",
            "size": 265660,
            "upload_time": "2024-03-07T12:22:13",
            "upload_time_iso_8601": "2024-03-07T12:22:13.754082Z",
            "url": "https://files.pythonhosted.org/packages/ae/93/53da1d70152fe8ec8996071a05a9659ae51d9bc310dea898b1bb1ac09441/ravendb-5.2.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-07 12:22:13",
    "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"
}
        
Elapsed time: 0.19975s