|
|
пре 7 месеци | |
|---|---|---|
| .. | ||
| go | пре 7 месеци | |
| js | пре 7 месеци | |
| python | пре 7 месеци | |
| ruby | пре 7 месеци | |
| README.md | пре 7 месеци | |
Official client libraries for PizzaSQL in multiple programming languages.
| Language | Directory | Package Manager | Status |
|---|---|---|---|
| JavaScript/TypeScript | js/ | npm | ✅ Ready |
| Python | python/ | pip | ✅ Ready |
| Go | go/ | go get | ✅ Ready |
| Ruby | ruby/ | gem | ✅ Ready |
All client libraries follow a similar API design pattern for consistency across languages.
import { connect } from 'pizzasql';
const db = connect('http://localhost:8080/mydb', 'api-key');
const users = await db.sql('SELECT * FROM users');
const userIds = users.map(u => u.id);
from pizzasql import connect
db = connect('http://localhost:8080/mydb', api_key='api-key')
users = db.sql('SELECT * FROM users')
user_ids = [u['id'] for u in users]
import "github.com/pizzasql/pizzasql-go"
db, err := pizzasql.Connect("http://localhost:8080/mydb", "api-key")
if err != nil {
log.Fatal(err)
}
rows, err := db.SQL("SELECT * FROM users")
if err != nil {
log.Fatal(err)
}
for _, row := range rows {
fmt.Println(row["id"])
}
require 'pizzasql'
db = PizzaSQL.connect('http://localhost:8080/mydb', 'api-key')
users = db.sql('SELECT * FROM users')
user_ids = users.map { |u| u['id'] }
All client libraries support:
npm install pizzasql
# or
bun add pizzasql
pip install pizzasql
go get github.com/pizzasql/pizzasql-go
gem install pizzasql
All clients implement the same core methods:
| Method | JavaScript | Python | Go | Ruby |
|---|---|---|---|---|
| Connect | connect(uri, apiKey) |
connect(uri, api_key) |
Connect(uri, apiKey) |
connect(uri, api_key) |
| Query | sql(query) |
sql(query) |
SQL(query) |
sql(query) |
| Export | export(table, format) |
export(table, format) |
Export(table, format) |
export(table:, format:) |
| Import | import(data, format, createTable) |
import_data(data, format, create_table) |
Import(data, format, createTable) |
import(data, format:, create_table:) |
All clients accept URIs in the following formats:
http://localhost:8080/mydb
https://pizzabase.cloud/my_org/sql/my_db:32131
The database name is extracted from the last segment of the URI path.
All clients support optional API key authentication via Bearer token:
// With API key
const db = connect('http://localhost:8080/mydb', 'your-api-key-here');
// Without API key
const db = connect('http://localhost:8080/mydb');
All clients return query results as an array of objects/dictionaries/maps:
[
{"id": 1, "name": "Alice", "email": "alice@example.com"},
{"id": 2, "name": "Bob", "email": "bob@example.com"}
]
Supported formats:
sql - SQL statements (default)csv - Comma-separated values// Export entire database as SQL
const sqlData = await db.export('', 'sql');
// Export specific table as CSV
const csvData = await db.export('users', 'csv');
// Import SQL file
await db.import(sqlData, 'sql', false);
// Import CSV with auto table creation
await db.import(csvData, 'csv', true);
Each client library is maintained independently. See individual client directories for development setup and contribution guidelines.
MIT