Skip to main content

parad

Encrypted local-first SQLite with Telegram cloud sync — a git-like, zero-cost workflow database. Telegram is the disk: every change you commit becomes a version-stored snapshot you can revert to anytime.

Install

pip install parad

Quick Start

Python SDK (developer workflow — auto-sync on by default)

Connect with a postgres-like connection string, write SQL offline, and the sync daemon version-stores your changes automatically. No manual push needed.

from parad import connect

# Auto-login (email:password), auto-provision project + database on the
# gateway, open/create the local encrypted SQLite file.
db = connect(url="parad://alice@example.com:secretpw@local/myproj/mydb?passphrase=secret")

# Build SQL offline like any SQLite database ...
db.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")
db.execute("INSERT INTO users (name) VALUES (?)", ("alice",))
db.commit()

# ... and it's already pushed to the cloud as a new snapshot version (~2s).
# Revert anytime (from the CLI):
# !parad rollback 1

db.close()

Offline? Keep writing — changes are flagged dirty and batch-pushed as new versions the moment you reconnect. On conflicts your local data always wins (never silently dropped).

Local-only is just as easy:

db = connect("mydb", passphrase="secret", auto_sync=False)

CLI

# Create an encrypted database
parad init mydb

# Push to cloud
parad push

# Pull latest
parad pull

# Check status
parad status

# Interactive SQL
parad shell

Commands

Command Description
parad init <name> Create encrypted DB + register with gateway
parad push Push database to Telegram cloud
parad pull [version] Pull latest or specific version
parad sync Push then pull
parad status Local vs remote version
parad versions List all remote versions
parad rollback <ver> Rollback to previous version
parad exec <sql> Run raw SQL
parad insert <table> <json> Insert a row
parad select <table> [where] Query rows
parad update <table> <set> <where> Update rows
parad delete <table> <where> Delete rows
parad shell Interactive SQL REPL
parad config show/set Manage config

Configuration

Config lives at ~/.paradox/config.json:

{
  "database_path": "~/.paradox/data.db",
  "sync": {
    "gateway_url": "https://paradox-db.onrender.com/v1",
    "api_key": "pk_..."
  }
}

Security

  • AES-256-CBC encryption at rest
  • PBKDF2-HMAC-SHA512 key derivation (256k iterations)
  • Your passphrase never leaves your machine

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parad-2.0.1.tar.gz (42.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

parad-2.0.1-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file parad-2.0.1.tar.gz.

File metadata

  • Download URL: parad-2.0.1.tar.gz
  • Upload date:
  • Size: 42.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for parad-2.0.1.tar.gz
Algorithm Hash digest
SHA256 e5d32c265969050a9bff97c7e82426c74dc45e94e1a24e31bb5c37d30b89b0a7
MD5 73b3df2c84255d70e9b83bf13f76634f
BLAKE2b-256 7df84ca63bc561c6c461c840dd064a00021148c0250c12277d72fe13ab09b2cd

See more details on using hashes here.

File details

Details for the file parad-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: parad-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for parad-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d3c45126caa572c71084ffaa58b59dc706e1b03fbda20908a96b1e4b5f00aeca
MD5 ed89cc2cf646481d67ba31fb6e605d74
BLAKE2b-256 0ad8fd122759f8cf278bae0a3ce451f7a106193163014e4a6fc70730d26349de

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page