Skip to content

Commit 036fc59

Browse files
committed
RDBC-790 Finally working pip install that includes RavenDB Server properly
1 parent c21dd64 commit 036fc59

File tree

7 files changed

+35
-35
lines changed

7 files changed

+35
-35
lines changed

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
/.idea
22
/test.py
33
/dist
4-
/pyravendb_embedded.egg-info
5-
/pyravendb_embedded/RavenDBServer
4+
/ravendb-embedded.egg-info
5+
/ravendb_embedded/ravendb_server
66
*.pyc
77
*.log
88
*.raven-topology

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
graft ravendb-server
1+
include ravendb_embedded/ravendb_server/server.zip
22
include README.rst

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
## Overview
3-
Pyravendb-Embedded is a RavenDB package for running RavenDB in embedded mode.
3+
ravendb-embedded is a RavenDB package for running RavenDB in embedded mode.
44

55
```python
6-
from ravendb_embedded.embedded_server import EmbeddedServer
6+
from ravendb_embedded .embedded_server import EmbeddedServer
77

88
EmbeddedServer().start_server()
99
with EmbeddedServer().get_document_store("Embedded") as store:
@@ -13,11 +13,11 @@ with EmbeddedServer().get_document_store("Embedded") as store:
1313
```
1414

1515
## Installation
16-
Install from [PyPi](https://pypi.python.org/pypi), as [pyravendb-embedded](https://pypi.python.org/project/ravendb-embedded).
16+
Install from [PyPi](https://pypi.python.org/pypi), as [ravendb-embedded](https://pypi.python.org/project/ravendb-embedded).
1717
```bash
18-
pip install ravendb-embedded
18+
pip install ravendb_embedded
1919
```
20-
Install Ravendb-Embedded from pip will provide you with a copy of RavenDB server binaries files as well.
20+
Install ravendb-embedded from pip will provide you with a copy of RavenDB server binaries files as well.
2121

2222
## Usage
2323
#### Start a server
@@ -34,19 +34,19 @@ To be more in control about your server `start_server` method can take one param
3434
you can download [dotnet binaries](https://www.microsoft.com/net/download/windows) and just put the path to it)
3535
* **command_line_args** - A list of all [server command args](https://ravendb.net/docs/article-page/6.0/csharp/server/configuration/command-line-arguments).
3636
```python
37-
from ravendb_embedded.options import ServerOptions
38-
from ravendb_embedded.embedded_server import EmbeddedServer
37+
from ravendb_embedded .options import ServerOptions
38+
from ravendb_embedded .embedded_server import EmbeddedServer
3939

4040
server_options = ServerOptions(data_directory="MYPATH/RavenDBDataDir")
4141
EmbeddedServer().start_server(server_options)
4242
```
4343
##### Security
44-
There are options to make ravendb secured in Ravendb-Embedded:<br />
44+
There are options to make ravendb secured in ravendb-embedded:<br />
4545
1) `secured(server_pfx_certificate_path, client_pem_certificate_path, server_pfx_certificate_password=None, ca_certificate_path)` - For this option you will put path to a .pfx and .pem files and a password/ca cert
4646
if you have one.
4747
```python
48-
from ravendb_embedded.options import ServerOptions
49-
from ravendb_embedded.embedded_server import EmbeddedServer
48+
from ravendb_embedded .options import ServerOptions
49+
from ravendb_embedded .embedded_server import EmbeddedServer
5050

5151
server_options = ServerOptions()
5252
server_options.secured("PATH_TO_PFX_CERT_FILE", "PASSWORD_TO_CERT_FILE")
@@ -82,7 +82,7 @@ After initialize and start the server we can use `get_document_store` method to
8282
and start work with RavenDB as normal.
8383

8484
```python
85-
from ravendb_embedded.embedded_server import EmbeddedServer
85+
from ravendb_embedded .embedded_server import EmbeddedServer
8686

8787
EmbeddedServer().start_server()
8888
with EmbeddedServer().get_document_store("Test") as store:
@@ -96,8 +96,8 @@ if this option if True we won't create the database (Default False).
9696

9797
```python
9898
# In this example we won't create the Test database if not exists will raise an exception
99-
from ravendb_embedded.options import DatabaseOptions
100-
from ravendb_embedded.embedded_server import EmbeddedServer
99+
from ravendb_embedded .options import DatabaseOptions
100+
from ravendb_embedded .embedded_server import EmbeddedServer
101101

102102
database_options = DatabaseOptions.from_database_name("Test")
103103
database_options.skip_creating_database=True
@@ -106,11 +106,11 @@ with EmbeddedServer().get_document_store_from_options(database_options) as store
106106
```
107107

108108
#### Open RavenDB studio in the browser
109-
To open RavenDB studio from Pyravendb-Embedded you can use `open_studio_in_browser` method and the studio will open automatically
109+
To open RavenDB studio from ravendb-embedded you can use `open_studio_in_browser` method and the studio will open automatically
110110
one your default browser.
111111

112112
```python
113-
from ravendb_embedded.embedded_server import EmbeddedServer
113+
from ravendb_embedded .embedded_server import EmbeddedServer
114114

115115
EmbeddedServer().open_studio_in_browser()
116116
```

README.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
========
22
Overview
33
========
4-
Ravendb-Embedded is a RavenDB package for running RavenDB in embedded mode.
4+
ravendb-embedded is a RavenDB package for running RavenDB in embedded mode.
55

66
.. code-block:: python
77
@@ -18,9 +18,9 @@ Install from `PyPi <https://pypi.python.org/pypi>`_, as `ravendb-embedded_ <http
1818

1919
.. code-block:: bash
2020
21-
pip install pyravendb
21+
pip install ravendb
2222
23-
Install Ravendb-Embedded from pip will provide you with a copy of RavenDB server binaries files as well.
23+
Install ravendb-embedded from pip will provide you with a copy of RavenDB server binaries files as well.
2424

2525
========
2626
Usage
@@ -51,7 +51,7 @@ ServerOptions
5151
5252
Security
5353
--------
54-
There are two options to make ravendb secured in Ravendb-Embedded:
54+
There are two options to make ravendb secured in ravendb-embedded:
5555

5656
1. `secured(server_pfx_certificate_path, client_pem_certificate_path, server_pfx_certificate_password=None, ca_certificate_path)` - For this option you will put path to a .pfx and .pem files and a password/ca cert
5757
if you have one.
@@ -84,7 +84,7 @@ DatabaseOptions
8484
8585
Open the RavenDB studio in the browser
8686
--------------------------------------------
87-
To open RavenDB studio from Pyravendb-Embedded you can use ``open_studio_in_browser`` method and the studio will open automatically
87+
To open RavenDB studio from ravendb-embedded you can use ``open_studio_in_browser`` method and the studio will open automatically
8888
one your default browser.
8989

9090
.. code-block:: python

ravendb_embedded/embedded_server.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
from ravendb import DocumentStore, CreateDatabaseOperation
1616
from ravendb.exceptions.raven_exceptions import RavenException
1717
from ravendb.tools.utils import Stopwatch
18-
1918
from ravendb_embedded.options import ServerOptions, DatabaseOptions
2019
from ravendb_embedded.raven_server_runner import RavenServerRunner
2120

ravendb_embedded/provide.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def unzip(source: Union[str, bytes], out: str) -> None:
5555

5656
class ExtractFromPkgResourceServerProvider(ProvideRavenDBServer):
5757
def provide(self, target_directory):
58-
resource_name = "/ravendb-server.zip"
58+
resource_name = "/ravendb_server.zip"
5959

6060
# Get binary data from the resource
6161
resource_data = pkgutil.get_data(self.__class__.__module__, resource_name)

setup.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from setuptools import setup, find_packages
1+
from setuptools import setup, find_packages, find_namespace_packages
22
from setuptools.command.install import install
33
from setuptools.command.develop import develop
44
import os
@@ -8,20 +8,20 @@
88
# Modify the RavenDB version and download URL accordingly
99
RAVENDB_VERSION = "6.0.0"
1010
RAVENDB_DOWNLOAD_URL = f"https://www.nuget.org/api/v2/package/RavenDB.Embedded/{RAVENDB_VERSION}"
11-
RAVENDB_DOWNLOAD_FOLDER = "downloaded_ravendb"
12-
RAVENDB_FULL_DOWNLOAD_PATH = os.path.join(RAVENDB_DOWNLOAD_FOLDER, "ravendb-server")
11+
RAVENDB_DOWNLOAD_FOLDER = "ravendb_embedded/ravendb_server"
12+
RAVENDB_FULL_DOWNLOAD_PATH = os.path.join(RAVENDB_DOWNLOAD_FOLDER, "server.zip")
1313

1414

1515
# Function to download RavenDB with progress bar
1616
def download_ravendb_with_progress():
1717
os.makedirs(RAVENDB_DOWNLOAD_FOLDER, exist_ok=True)
1818

1919
response = urllib.request.urlopen(RAVENDB_DOWNLOAD_URL)
20-
total_size = int(response.headers.get("content-length", 0))
20+
total_size = int(response.headers.get('content-length', 0))
2121
block_size = 1024 # Adjust the block size as needed
22-
progress_bar = tqdm(total=total_size, unit="B", unit_scale=True)
22+
progress_bar = tqdm(total=total_size, unit='B', unit_scale=True)
2323

24-
with open(RAVENDB_FULL_DOWNLOAD_PATH, "wb") as file, progress_bar:
24+
with open(RAVENDB_FULL_DOWNLOAD_PATH, 'wb') as file, progress_bar:
2525
while True:
2626
buffer = response.read(block_size)
2727
if not buffer:
@@ -47,8 +47,12 @@ def run(self):
4747

4848
# Setup configuration
4949
setup(
50+
cmdclass={"install": CustomInstall, "develop": CustomDevelop},
5051
name="ravendb-embedded",
51-
packages=find_packages(),
52+
packages=["ravendb-embedded"],
53+
package_dir={"ravendb-embedded": "ravendb_embedded"},
54+
package_data={"ravendb-embedded.data" : ["ravendb_embedded/server.zip"]},
55+
include_package_data=True,
5256
long_description=open("README.rst").read(),
5357
version=RAVENDB_VERSION,
5458
description="RavenDB Embedded library to run RavenDB in an embedded way",
@@ -58,8 +62,5 @@ def run(self):
5862
license="Custom EULA",
5963
keywords="ravendb embedded database nosql doc db",
6064
install_requires=[],
61-
include_package_data=True,
6265
zip_safe=False,
63-
package_data={"": ["ravendb-server/*"]},
64-
cmdclass={"install": CustomInstall, "develop": CustomDevelop},
6566
)

0 commit comments

Comments
 (0)