The Synnax Python Client
Use the Synnax Python client to interact with a Synnax cluster.
Synnax provides first-class support for Python. Our client delivers many capabilities, including
- Direct integration with pandas and numpy.
- Tooling to implement automated control of your hardware.
- Change data capture (CDC) infrastructure to build automated analysis pipelines.
In this section, we’ll cover how to install the client and authenticate with a cluster.
Installation
The synnax
library requires Python 3.10 or higher, and is available on
PyPI. Install it directly using pip
or define it
as a requirement in your virtual environment of choice:
pip install synnax
Python can be difficult to get installed and running correctly, so we’ve put together a troubleshooting guide that you can reference.
Authenticating with a Cluster
There are two ways to authenticate with a Synnax cluster: using the CLI to permanently store your credentials, or passing your credentials directly to the client.
The Synnax Login Command
The easiest way to authenticate with a Synnax cluster is with the login
command. This
will permanently store your credentials in the operating system’s keychain, and allow
you to use the client without passing credentials directly.
We highly recommend this method when using Synnax for data analysis, as it makes it easy to use the client in a Jupyter notebook and share scripts without accidentally revealing your credentials.
To authenticate, run the following command:
synnax login
If you get the error command not found
, you might not have Python scripts in your
PATH
variable. See our troubleshooting
guide for more information.
This command will prompt us for the following information:
Enter your Synnax connection parameters:
Host (localhost): # YOUR HOST
Port (9090): # YOUR PORT
Username (synnax): # YOUR USERNAME
Password: # YOUR PASSWORD
Secure connection? (y/n) (n):
For the last question, enter y
if your cluster is running in secure mode, and n
otherwise. If all goes well, you should see the following message:
Saved credentials. You can now use the Synnax Client
without having to log in. To connect the cluster in a Python shell, use the following:
from synnax import Synnax
client = Synnax()
Now that you’ve authenticated, you can instantiate the client as follows:
import synnax as sy
client = sy.Synnax()
Passing Credentials Directly
Passing authentication parameters directly is ideal in scenarios where you’d like to use configuration files or environment variables to store your credentials. We recommend this approach when connecting to Synnax in custom applications and/or automated analysis servers.
To authenticate directly, simply pass your connection parameters to the Synnax
constructor:
import synnax as sy
client = sy.Synnax(
host="demo.synnaxlabs.com",
port=9090,
username="synnax",
password="seldon",
secure=True
)
Here’s an example with environment variables:
import os
import synnax as sy
client = sy.Synnax(
host=os.environ["SYNNAX_HOST"],
port=int(os.environ["SYNNAX_PORT"]),
username=os.environ["SYNNAX_USERNAME"],
password=os.environ["SYNNAX_PASSWORD"],
secure=bool(os.environ["SYNNAX_SECURE"])
)
Next Steps
Now that you’ve installed and authenticated the client, you’re ready to start using Synnax! Next, learn how to create channels for storing data.