Skip to main content

RavenDB Embedded library to run RavenDB in an embedded way

Project description

Overview

ravendb-embedded is a RavenDB package for running RavenDB in embedded mode.

EmbeddedServer().start_server()
with EmbeddedServer().get_document_store("Embedded") as store:
    with store.open_session() as session:
        session.store(User(name="Ilay", age=4))
        session.save_changes()

Installation

Install ravendb-embedded from PyPi using:

pip install ravendb-embedded

Installing ravendb-embedded from pip will also provide you with a copy of the RavenDB server binary files.

Usage

Start a server

To start the RavenDB server, call the start_server() method from an EmbeddedServer instance.

EmbeddedServer.start_server()

For more control over your server, you can pass server_options to the start_server() method.

ServerOptions

  • framework_version: The framework version to run the server with.

  • data_directory: Where to save the database data (if None, the files will be saved in the RavenDB folder in the base folder).

  • server_url: The URL the server will be opened on (if None, the server will open on localhost).

  • dotnet_path: The location of dotnet.exe (if .NET Core is not installed on your machine, you can download dotnet binaries and provide the path).

  • command_line_args: A list of all server command arguments.

server_options = ServerOptions(data_directory="MYPATH/RavenDBDataDir")
EmbeddedServer().start_server(server_options)

Security

You can secure ravendb-embedded using the secured() method:

secured(server_pfx_certificate_path, client_pem_certificate_path, server_pfx_certificate_password=None, ca_certificate_path=None)
  • Provide the path to .pfx and .pem files, and optionally a password and CA certificate file.

  • Minimal setup requires both a .pfx server and a .pem client certificate.

Get Document Store

After initializing and starting the server, you can use the get_document_store method to obtain a DocumentStore and start working with RavenDB as usual.

get_document_store method can take either just the database_name or DatabaseOptions.

DatabaseOptions

  • database_name: The name of the database.

  • skip_creating_database: get_document_store will create a new database if it does not exist. If this option is set to True, the database won’t be created (Default False).

Open RavenDB Studio in the Browser

To open RavenDB Studio from ravendb-embedded, use the open_studio_in_browser method, and the studio will open automatically in your default browser.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ravendb_embedded-7.1.5.tar.gz (177.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ravendb_embedded-7.1.5-py3-none-any.whl (178.2 MB view details)

Uploaded Python 3

File details

Details for the file ravendb_embedded-7.1.5.tar.gz.

File metadata

  • Download URL: ravendb_embedded-7.1.5.tar.gz
  • Upload date:
  • Size: 177.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for ravendb_embedded-7.1.5.tar.gz
Algorithm Hash digest
SHA256 dd57ca77213ddbbf55d38fe4dd3c46b10e6bc3d245c3f5fd1c15fec358caa1b1
MD5 c1a5ee3ce5361d087bc50d5505d79283
BLAKE2b-256 25ddf6e1c8e8d165b93d0d87fec2ca0cbc81439d5851aea368e120ae3b9ca08b

See more details on using hashes here.

File details

Details for the file ravendb_embedded-7.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for ravendb_embedded-7.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d99800b89be6b6658033f259c19664fb367bc7335a0eda4e6718110f9baef9fe
MD5 6b16c78934fdc7377cddde36c0559d3a
BLAKE2b-256 9d1ace10cc500df0eb2d370aeae8df50757f3f939a2f4521f18eab353880b4cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page