An open API service indexing awesome lists of open source software.

https://github.com/carlos-rian/pysqlx-engine

PySQLXEngine, a minimalist asynchronous SQL engine.
https://github.com/carlos-rian/pysqlx-engine

async asyncio asyncronous mssql mysql postgresql python python3 sql sqlite

Last synced: 2 months ago
JSON representation

PySQLXEngine, a minimalist asynchronous SQL engine.

Awesome Lists containing this project

README

        

# PySQLXEngine


PySQLXEngine Logo



PySQLXEngine, a fast and minimalist SQL engine



CI


Coverage


Package version


Supported Python versions


Downloads

---

**Documentation**: https://carlos-rian.github.io/pysqlx-engine/

**Source Code**: https://github.com/carlos-rian/pysqlx-engine

---

PySQLXEngine supports the option of sending **raw sql** to your database.

The PySQLXEngine is a minimalist **Async and Sync** SQL engine. Currently this lib have supports *async and sync programming*.

The PySQLXEngine was created and thought to be minimalistic, but very efficient. The core is write in Rust, making communication between database and Python more efficient.

Database Support:

* `SQLite`
* `PostgreSQL`
* `MySQL`
* `Microsoft SQL Server`

OS Support:

* `Linux`
* `MacOS`
* `Windows`

## Installation

UV

```console
$ uv add pysqlx-engine
```

PIP

```console
$ pip install pysqlx-engine
```

Poetry

```console
$ poetry add pysqlx-engine
```

## Async Example

Create a `main.py` file and add the code examples below.

```python
from pysqlx_engine import PySQLXEngine

async def main():
db = PySQLXEngine(uri="sqlite:./db.db")
await db.connect()

await db.execute(sql="""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT,
age INT
)
""")
await db.execute(sql="INSERT INTO users (name, age) VALUES ('Rian', '28')")
await db.execute(sql="INSERT INTO users (name, age) VALUES ('Carlos', '29')")

rows = await db.query(sql="SELECT * FROM users")

print(rows)

import asyncio
asyncio.run(main())
```

## Sync Example

Create a `main.py` file and add the code examples below.

```python
from pysqlx_engine import PySQLXEngineSync

def main():
db = PySQLXEngineSync(uri="sqlite:./db.db")
db.connect()

db.execute(sql="""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT,
age INT
)
""")
db.execute(sql="INSERT INTO users (name, age) VALUES ('Rian', '28')")
db.execute(sql="INSERT INTO users (name, age) VALUES ('Carlos', '29')")

rows = db.query(sql="SELECT * FROM users")

print(rows)

# running the code
main()
```

Running the code using the terminal

```console
$ python3 main.py
```
Output

```python
[
BaseRow(id=1, name='Rian', age=28),
BaseRow(id=2, name='Carlos', age=29)
]
```