Install & Compatibility
Where this runs
tested against v0.8.4 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 48.7MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 3.3s · import 0.000s · 51MB
49MB installed
● package 49MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
SyncEngine
✓ from pysqlsync import SyncEngine
✗ from pysqlsync.sync import SyncEngine
Connect to PostgreSQL, define a table, and sync data with upsert mode.
import asyncio
from pysqlsync.sync.postgresql import PostgreSQLSyncEngine
from pysqlsync.model import TableDef
async def main():
# Connect and sync
engine = PostgreSQLSyncEngine(
host='localhost',
port=5432,
user='user',
password=os.environ.get('PGPASSWORD', ''),
database='mydb'
)
await engine.connect()
# Define a table
table = TableDef(name='users', columns=[
{'name': 'id', 'type': 'integer', 'primary_key': True},
{'name': 'name', 'type': 'text'}
])
# Create table and sync data
await engine.create_table(table)
await engine.sync_data(table, [{'id': 1, 'name': 'Alice'}], mode='upsert')
await engine.close()
asyncio.run(main())
Upgrade
Version history
0.8.4latest on PyPI · released Nov 5, 2025
Audit
Dependencies
asyncpgoptionalRequired for PostgreSQL sync engine
aiomysqloptionalRequired for MySQL sync engine
aiosqliteoptionalRequired for SQLite sync engine
pymssqloptionalRequired for MSSQL sync engine