Skip to content

Installation

FraiseQL is distributed as a pre-compiled Rust binary — no runtime, no dependencies. Download and run.

  • Database: PostgreSQL (recommended), MySQL, SQLite, or SQL Server
  • Schema SDK: Python 3.10+, Node.js 18+, Go 1.21+, or others
Terminal window
curl -fsSL https://fraiseql.dev/install.sh | sh

This installs the latest binary to /usr/local/bin (or ~/.local/bin if that is not writable).

The schema SDK lets you define GraphQL types in your preferred language.

LanguageStatusStartersDocs
Python✅ Stableminimal · blog · saas · authFull
TypeScript✅ StableminimalFull
Go🧪 Community previewMinimal
Java🧪 Community previewMinimal

Python and TypeScript are the recommended starting points. Go and Java SDKs exist and can declare schema types, but have fewer examples and less documentation coverage.

Terminal window
# uv (recommended)
uv add fraiseql
# pip
pip install fraiseql

Requires Python 3.10+.

Terminal window
fraiseql --version

Expected output:

fraiseql 2.1.0
Terminal window
# Create a database
createdb myapp
# Set the connection string
export DATABASE_URL="postgresql://localhost:5432/myapp"

PostgreSQL gives you the best JSON support and is the recommended database for new projects.

  1. Create a new project:

    Terminal window
    fraiseql init my-api
    cd my-api
  2. Review the generated structure:

    my-api/
    ├── fraiseql.toml # Project configuration
    ├── schema.json # Schema manifest
    ├── db/
    │ └── schema/
    │ ├── 01_write/ # Table DDL
    │ ├── 02_read/ # View definitions
    │ └── 03_functions/ # Mutation functions
    └── schema.py # Schema definition (or .ts / .go)
  3. Set your database URL and compile the schema:

    Terminal window
    export DATABASE_URL="postgresql://localhost:5432/myapp"
    fraiseql compile

    Connection errors are reported at compile time if the database is unreachable.

.vscode/extensions.json
{
"recommendations": [
"ms-python.python",
"tamasfe.even-better-toml",
"graphql.vscode-graphql"
]
}

FraiseQL works out of the box with PyCharm’s Python support. Install the TOML plugin for fraiseql.toml syntax highlighting.

Dockerfile
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y curl && \
curl -fsSL https://fraiseql.dev/install.sh | sh && \
rm -rf /var/lib/apt/lists/*
COPY . /app
WORKDIR /app
RUN fraiseql compile
CMD ["fraiseql", "run", "--bind", "0.0.0.0"]

“command not found: fraiseql” — Add ~/.local/bin to your PATH:

Terminal window
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

“database connection refused” — Verify your database is running and check DATABASE_URL:

Terminal window
psql $DATABASE_URL

Permission errors on Linux — Make the binary executable:

Terminal window
chmod +x ~/.local/bin/fraiseql