Overview
Anysite CLI can load extracted data directly into databases. It supports SQLite (built-in), PostgreSQL , and ClickHouse (via optional extras). Connections are stored in ~/.anysite/connections.yaml and can be referenced by name across all CLI commands.
Supported Databases
Database Extra Required Use Case SQLite None (built-in) Local development, single-user workflows, prototyping PostgreSQL pip install "anysite-cli[postgres]"Production, multi-user, large datasets ClickHouse pip install "anysite-cli[clickhouse]"Analytics, columnar storage, large-scale aggregations
Add a Connection
SQLite
PostgreSQL
ClickHouse
Read-Only
anysite db add mydb --type sqlite --database ./data/mydata.db
SQLite databases are created automatically if the file doesn’t exist. First install the PostgreSQL extra: pip install "anysite-cli[postgres]"
Then add the connection: anysite db add pg --type postgres \
--host localhost \
--port 5432 \
--database mydb \
--user app \
--password " $DB_PASSWORD "
Or reference an existing environment variable directly: anysite db add pg --type postgres \
--host localhost \
--database mydb \
--user app \
--password-env PGPASS
Or use a connection URL from an environment variable: anysite db add pg --url-env DATABASE_URL
First install the ClickHouse extra: pip install "anysite-cli[clickhouse]"
Then add the connection: anysite db add ch --type clickhouse \
--host localhost \
--port 8123 \
--database default \
--user default \
--password " $CH_PASSWORD "
Or with SSL (auto-enabled on port 8443): anysite db add ch --type clickhouse \
--host ch.example.com \
--port 8443 \
--database analytics \
--user app \
--password-env CH_PASS \
--ssl
Mark a connection as read-only to prevent accidental writes (useful for production replicas): anysite db add replica --type postgres \
--host replica.example.com \
--database mydb \
--user readonly_user \
--password-env REPLICA_PASS \
--read-only
Read-only connections block INSERT/UPDATE/DELETE operations. Discovery auto-detects read-only status for PostgreSQL replicas, SQLite files with restricted permissions, and ClickHouse readonly system setting.
Use --password-env to reference an environment variable instead of passing passwords directly. The CLI stores connection details in ~/.anysite/connections.yaml with passwords stored as env var references.
Manage Connections
# List all connections
anysite db list
# Test a connection
anysite db test pg
# Remove a connection
anysite db remove pg
Connection Reference
SQLite Options
Option Description Default --typesqliteRequired --databasePath to the SQLite database file Required
PostgreSQL Options
Option Description Default --typepostgresRequired --hostDatabase host localhost--portDatabase port 5432--databaseDatabase name Required --userUsername Required --passwordPassword (prefer --password-env) — --password-envEnvironment variable name containing the password — --url-envEnvironment variable containing the full connection URL — --read-onlyMark connection as read-only (blocks writes) false
ClickHouse Options
Option Description Default --typeclickhouseRequired --hostDatabase host localhost--portHTTP port 8123--databaseDatabase name default--userUsername — --passwordPassword (prefer --password-env) — --password-envEnvironment variable name containing the password — --sslEnable SSL (auto-enabled on port 8443) false--read-onlyMark connection as read-only (blocks writes) false
ClickHouse uses the HTTP protocol via clickhouse-connect . The default engine for auto-created tables is MergeTree().
Next Steps
Database Discovery Auto-discover database structure and browse saved catalogs
Database Operations Insert, query, and sync data with your databases