Database & client setup
Overview
Options for running Weaviate
Weaviate Cloud Services (WCS) is a managed service that runs Weaviate for you. You can also manage your own Weaviate instances using Docker, Kubernetes, or Embedded Weaviate.
No matter how you run Weaviate, the underlying code is identical. However, there are some operational differences to be aware of.
WCS (Recommended)
WCS, or Weaviate Cloud Services, is a managed SaaS service that requires no maintenance at your end.
As it is managed by Weaviate (the company - the software is not sentient... yet). WCS is the fastest way to create a new instance of Weaviate and requires the least amount of effort for users.
WCS has Weaviate instances that are pre-configured for your convenience. They include a number of Weaviate modules by default. They also have built-in support for user authentication.
WCS includes a free "sandbox" tier. The WCS sandbox is our recommended method of running Weaviate in this course.
Docker and Kubernetes
You can run Weaviate instances using containerization solutions such as Docker and Kubernetes.
Running your own instance provides you with the same Weaviate code base as a WCS instance, but you have to manage configuration and deployment yourself.
This course doesn't cover self-managed instances. We will cover Docker and Kubernetes in separate course units in the future.
If you are familiar with either solution and want to use them to install Weaviate now, see the documentation for Docker-Compose or Kubernetes.
Embedded Weaviate
We also have an experimental feature called Embedded Weaviate, where you can directly instantiate a Weaviate database from a client library.
Currently, Embedded Weaviate is only recommended for evaluation purposes.
Get started with WCS
Sign in to WCS
To access WCS, go to the Weaviate Cloud Console
If you don't have a WCS account, click on the "Register" button to create a new account.
Click on "Sign in with the Weaviate Cloud Services" and sign in with your WCS username and password.
Create a Weaviate Cluster
To create a new Weaviate Cluster, click the "Create cluster" button.
On the Create a Cluster page:
- Select the Free sandbox plan tier.
- Provide a cluster name. The sandbox URL is based on the cluster-name. WCS adds a suffix to ensure uniqueness.
- Set the
Enable Authentication?
option toYES
. - Press Create to create your sandbox instance. Note that the sandbox will expire after a set number of days.

This starts the process to create a new instance. WCS displays a progress indicator while the sandbox builds.

Instance creation takes a minute or two. WCS displays a checkmark (✔️) next to your sandbox when the instance is ready.
Sandbox expiration & options
The sandbox is free, but it will expire after 14 days. After this time, all data in the sandbox will be deleted.
If you would like to preserve your sandbox data, you can retrieve your data, or contact us to upgrade to a production SaaS instance.
There are several ways to work with your sandbox.
Install Weaviate client
For the initial release of Weaviate Academy units, our materials are written around Python examples.
We are working to add examples for other client languages, starting with TypeScript. We appreciate your patience as we build up our educational material.
Available clients
Currently, Weaviate clients are available in:
- Python
- TypeScript
- Java
- Go
Client capabilities
You can perform all Weaviate requests with any of these clients. For the most seamless and language-native experience, we recommend using the client for your preferred programming language.
Installation
Install your preferred client by following the relevant instructions below:
- Python
- JavaScript/TypeScript
- Go
- Java
Add weaviate-client
to your Python environment with pip
:
pip install weaviate-client
Add weaviate-ts-client
to your project with npm
:
npm install weaviate-ts-client
Add weaviate-go-client
to your project with go get
:
go get github.com/weaviate/weaviate-go-client/v4
Add this dependency to your project:
<dependency>
<groupId>io.weaviate</groupId>
<artifactId>client</artifactId>
<version>4.0.0</version> <!-- Check latest version -->
</dependency>
Review
Review exercise
Key takeaways
- There are multiple ways to run Weaviate.
- The recommended, easiest way to run a Weaviate instance is with WCS.
- Weaviate clients are available in multiple languages.
- Currently, the Academy material is available in Python only.