Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You can get the Python Bridge server as part of Saga deliverables which are stored in the Saga&ESUI teams site Artifactory repository here.  At At the time of writing the latest version of Saga available is 1.3.14

Installing Python

(SAGA 1.3.1) The current version of Python Bridge where was developed and tested using Python 3.9.5, but any Python 3.9.x version will suffice. At the moment of writing this guide the released version of 3.9 is Python 3.9.5 which you can download from here here Python Release Python 3.9.5 | Python.org, please remember to download the 64-bit version of Python, some libraries are no compatible with the 32-bit version and will not work.


(SAGA 1.3.3) The python version has been updated to 3.11.4 which you can download from here Python 3.11.4, download the 64-bit version.


(SAGA 1.3.4) The python version has been updated to 3.11.9 which you can download from here Python 3.11.9, download the 64-bit version.

Tip

Remember to create a environment variable PYTHON_HOME, pointing to you current installation folder of Python

...

Creating and Starting a Virtual Environment

Once Python 3.9.x is installed, and poses a copy of Python Bridge, proceed to access the Python Bridge folder via console. Once there we will create a python virtual environment using the following command

...

To be able to use this environment, we need to execute the activate script for this execute using the following command:

For Linux

Code Block
languagetext
themeFadeToGrey
source venv/bin/activate

...

Code Block
languagetext
themeFadeToGrey
(venv) C:\Python Bridge>

Installing Python Bridge Dependencies (Old Way)

Once in the virtual environment proceed to install the Python Bridge dependencies, all the dependencies should be listed in a file called requirements.txt inside the Python Bridge folder. Install the dependencies by executing the following command:

...

Tip

You may see a trusted or SSL certificate error message when trying to install dependencies.  This because some of the hosts are not trusted by the pip tool.

Try with the next command: 

pip install --trusted-host download.pytorch.org -r requirements.txt

If this doesn't work either In that case you can tell pip to trust those hosts by adding them to a text file called "pip.ini" which you place in the "venv" folder.  Create the file if it doesn't exist and add the following contents:[global]
trusted-host = pypi.python.org
   pypi.org
   files.pythonhosted.org

And then, try running the following command:

pip config set global.trusted-host "pypi.org files.pythonhosted.org download.pytorch.org"



Installing Python Bridge Dependencies (New Way)

We have now a pyproject.toml file, so we can install libraries from there instead of using the requirements.txt. This method has multiple advantages, such as: optional dependencies, easy control over all the installed libraries, addition of advanced setup configurations and more.

To install the dependencies using this new method, you need to use: 

Code Block
languagetext
themeFadeToGrey
pip install -e .

This will install all the required dependencies needed to start the server without any model.

To install extra optional dependencies, you can use this other command:

Code Block
languagetext
themeFadeToGrey
pip install -e .[all]

Where [all] is the name of the optional dependencies to install. They need to be added to the correct section on the pyproject file.

If you do not know how to do this, here is a page with all you need to know about the pyproject file and its optional dependencies.


Info

This process may take a few minutes, since pip needs to download and install every dependency



Start Python Bridge Server

Finally to start the Python Bridge server, all you need to do is to execute the command:choose one of the following options:


Development server

For local testing only.

Code Block
languagetext
themeFadeToGrey
python server.py

...

 <Port Number>
Note
You must specify the port number, usually 5000.


Production server

For production environments.  Supports https and basic authentication.

Code Block
themeFadeToGrey
python server-cherrypy.py
Note
For security configuration refer to Python Bridge Configuration.



Note

If it's the first time starting Python Bridge, it will download a couple of models, amounts among them BERT base uncased model, which has a size of roughly 4Gb. Python Bridge will not be ready until all the models are downloaded.

Once downloaded, next time you start Python Bridge it will be pretty fast.



Tip

If you do not wish to download the BERT model, go the the config.json file in the config folder and remove the Bert entry under model_types.

If you want to keep the model around for future usage, you can just disabled it by setting the 'enable' flag to false: "enabled": false

Tip

If you want to use Python Bridge with Saga you can check Recognizers documentation.