Skip to content
WeftKitBeta

Integration Guides

How Integration Works

WeftKit Standalone speaks the same wire protocols as well-known databases. This means you can connect using any existing driver for that protocol — no proprietary SDK required.

| WeftKit Engine | Wire Protocol | Standard Drivers That Work | |---|---|---| | WeftKitRel | PostgreSQL v3 | psycopg2, asyncpg, pg (node-postgres), Npgsql, lib/pq, JDBC | | WeftKitDoc | MongoDB Wire | PyMongo, Mongoose, mongo-go-driver, MongoDB Java Driver | | WeftKitKV | DynamoDB REST | boto3, AWS SDK for JS / Java / .NET / Go, any HTTP client | | WeftKitGraph | Bolt (Neo4j) | neo4j-driver (Python, JS, Java, .NET, Go) | | WeftKitMem | Redis RESP3 | redis-py, ioredis, StackExchange.Redis, go-redis, Jedis | | WeftKitVec | gRPC | grpcio, @grpc/grpc-js, grpc-java, Grpc.Net, grpc-go | | WeftKitMD | REST / HTTP | Any HTTP client (requests, fetch, axios, curl) | | WeftKitFile | REST / HTTP | Any HTTP client or S3-compatible SDK |

Choosing Your Connection Method

Running WeftKit Standalone is the recommended setup for all languages:

  1. Start weftkit-standalone with your weftkit.toml config
  2. Install the standard driver for your language (see per-platform guides below)
  3. Point the driver at localhost:PORT (or your server's hostname)

No custom SDK, no FFI bindings, no compilation step required for your application.

Per-Platform Integration Guides

Each guide below covers connecting to every WeftKit engine from that platform, with complete runnable code examples for popular frameworks.

Backend Languages

| Platform | Frameworks Covered | |---|---| | Node.js & Electron | Node.js, Express, NestJS, Electron | | Python | Django, FastAPI, SQLAlchemy, asyncpg, bare Python | | Java | Spring Boot, JDBC, Hibernate / JPA | | .NET / C# | ASP.NET Core, Entity Framework Core, Dapper | | Go | database/sql, pgx, GORM | | PHP | Laravel, PDO | | Ruby | Ruby on Rails, ActiveRecord |

Mobile & Cross-Platform

| Platform | Frameworks Covered | |---|---| | Mobile (React Native & Flutter) | React Native, Flutter, Dart |

Connection String Reference

All standard drivers accept a connection string or connection options object. WeftKit uses the same format as the database it emulates.

WeftKitRel (PostgreSQL format)

postgresql://USERNAME:PASSWORD@HOST:5432/DATABASE

WeftKitDoc (MongoDB format)

mongodb://USERNAME:PASSWORD@HOST:27017/DATABASE

WeftKitMem (Redis format)

redis://:PASSWORD@HOST:6379/0

WeftKitGraph (Bolt format)

bolt://HOST:7687
neo4j://HOST:7687

WeftKitKV (DynamoDB endpoint override)

endpoint_url = "http://HOST:8000"

WeftKitVec (gRPC target)

HOST:50051

WeftKitMD / WeftKitFile (REST base URL)

http://HOST:8080
http://HOST:8081

Default Ports

| Engine | Default Port | Protocol | |---|---|---| | WeftKitRel | 5432 | TCP | | WeftKitDoc | 27017 | TCP | | WeftKitKV | 8000 | HTTP | | WeftKitGraph | 7687 | TCP | | WeftKitMem | 6379 | TCP | | WeftKitVec | 50051 | TCP (gRPC) | | WeftKitMD | 8080 | HTTP | | WeftKitFile | 8081 | HTTP |

All ports are configurable in weftkit.toml.

Authentication

Pass credentials the same way you would for the native database:

  • WeftKitRel: PostgreSQL user + password in the connection string
  • WeftKitDoc: MongoDB user + password in the URI
  • WeftKitMem: Redis AUTH command / password in the URI
  • WeftKitGraph: Bolt auth tuple ("neo4j", "password")
  • WeftKitKV: AWS access_key_id + secret_access_key (any value works)
  • WeftKitVec / WeftKitMD / WeftKitFile: Authorization: Bearer TOKEN header

See the Security guide for JWT and mTLS configuration.

TLS / SSL

For production deployments, enable TLS in weftkit.toml:

toml
[tls]
enabled   = true
cert_file = "/etc/weftkit/server.crt"
key_file  = "/etc/weftkit/server.key"
ca_file   = "/etc/weftkit/ca.crt"   # for mTLS

Then enable SSL/TLS in your driver the same way you would for the corresponding database (e.g., sslmode=require for PostgreSQL drivers).