Quickstart Guide
Get up and running with Zyeta in minutes
This guide will help you set up and run Zyeta on your local machine for development and testing purposes.
Prerequisites
Before you begin, make sure you have the following installed:
- Python 3.10 or later (recommended)
- PostgreSQL 14+ (required for vector storage)
- Poetry (for dependency management)
- Docker (optional, for containerized setup)
- Git (for version control)
Clone the Repository
First, clone the repository from GitHub:
Python Environment Setup
We recommend using Poetry for dependency management:
Make sure you’re using Python 3.10 or later. You can check your version with python --version
.
Pre-commit Setup
We use pre-commit hooks to ensure code quality:
This will configure automatic linting and type checking before each commit.
Environment Configuration
- Create your environment file by copying the example file:
- Configure the following essential environment variables in your
.env
file:
Generate secure random strings for JWT_SECRET
and MASTER_API_KEY
. You can use Python’s secrets
module: python -c "import secrets; print(secrets.token_hex(32))"
.
Database Setup
Option 1: Local PostgreSQL with Docker (Recommended)
The easiest way to set up PostgreSQL is using Docker:
Option 2: Using Supabase
If you prefer a cloud-based PostgreSQL service:
- Create a Supabase account at supabase.com
- Create a new project
- Navigate to the Database settings in your Supabase dashboard
- Copy the connection string from the “Connection Pooling” section
Database Migrations Setup
- Copy the Alembic configuration template:
- Edit
alembic.ini
and update thesqlalchemy.url
to match your database URL:
If your database password contains special characters like @
, remember to URL-encode them in your .env
file, but in the alembic.ini
file, you need to escape %
by doubling it: %%
.
- Apply database migrations:
Running the Application
Start the application in development mode:
The API will be available at:
- API Endpoints:
http://localhost:8000/api/
- Swagger UI Documentation:
http://localhost:8000/docs
- ReDoc Documentation:
http://localhost:8000/redoc
Docker Deployment (Alternative)
For a fully containerized setup:
Verification
To verify your setup is working:
- Open
http://localhost:8000/docs
in your browser - Try creating a new user account via the
/api/auth/signup
endpoint - Login with the created account via
/api/auth/login
Troubleshooting
What’s Next?
Now that you have Zyeta running, explore:
Was this page helpful?