Metadata-Version: 2.4
Name: ultsql
Version: 1.0.16
Summary: Universal Python client for the UltSQL 100% Pure-Dart multimodal database engine.
Home-page: https://github.com/ompatel3158/ULTSQL
Author: Om Patel
Author-email: Om Patel <ompatel3158@gmail.com>
License-Expression: BSD-3-Clause
Project-URL: Homepage, https://github.com/ompatel3158/ULTSQL
Project-URL: Documentation, https://pub.dev/packages/ultsql
Project-URL: Repository, https://github.com/ompatel3158/ULTSQL
Project-URL: Issues, https://github.com/ompatel3158/ULTSQL/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Operating System :: OS Independent
Classifier: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# 🐍 UltSQL for Python Developers

**Zero Dart / Zero Setup Required!** 

If you are a Python developer, you **DO NOT need Dart or Flutter installed on your machine**. Everything works using standard Python code and tools (`pip`).

---

## 🚀 Quickstart Guide for Python Developers

### Step 1: Install Package
```bash
pip install ultsql
```

### Step 2: Use in Python

#### Method A: Using the UltSQL Python Client (REST API)
```python
from ultsql import UltSQLClient

# Connect to ULTSQL
db = UltSQLClient("http://localhost:8080")

# 1. Insert records
db.insert("users", {"id": 1, "name": "Alice", "score": 98.5})

# 2. Query records
users = db.query("users")
print("User rows:", users["rows"])

# 3. Truncate table
db.truncate("users")
```

#### Method B: Using Standard PostgreSQL Drivers (`psycopg2` / `asyncpg`)
Because ULTSQL speaks the **PostgreSQL Wire Protocol**, you can use standard Python database libraries:

```bash
pip install psycopg2-binary
```

```python
import psycopg2

# Connect to ULTSQL PostgreSQL wire port (default: 5432)
conn = psycopg2.connect("host=localhost port=5432 user=admin password=admin dbname=ultsql_db")
cur = conn.cursor()

cur.execute("SELECT * FROM users WHERE score >= %s", (90.0,))
rows = cur.fetchall()
print("Postgres Client Rows:", rows)
```

---

## ❓ Frequently Asked Questions for Python Users

- **Do I need to install Dart or Flutter?**  
  **No!** Python developers only need Python and `pip`.
- **Can I run ULTSQL without any background server app?**  
  **Yes!** ULTSQL bundles precompiled dynamic C libraries (`libultsql.so` on Linux, `ultsql.dll` on Windows, `libultsql.dylib` on macOS) so the database engine can run directly inside Python process memory just like SQLite.
