Skip to main content

sql-smith is an SQL query builder with zero dependencies and a fluent interface.

Project description

sql-smith is an SQL query builder with zero dependencies and a fluent interface.

The sentence above is, beside the name, a copy from the website of the PHP library Latitude, for the simple reason that this Python module is a port of Latitude.

Read the full documentation.

Installation

$ pip install sql-smith

Quick Start

QueryFactory is a factory to create a SELECT, INSERT, UPDATE or DELETE query. Use the fluent interface of the queries to complete the query.

from sql_smith import QueryFactory
from sql_smith.engine import CommonEngine
from sql_smith.functions import field

factory = QueryFactory(CommonEngine())
query = factory \
    .select('id', 'username') \
    .from_('users') \
    .where(field('id').eq(5)) \
    .compile()

print(query.sql)  # SELECT "id", "username" FROM "users" WHERE "id" = ?
print(query.params)  # (5)

When the query is ready, compile it. The return value of compile is a Query class instance with two properties: sql and params. Use these properties to pass the query to a database.

import sqlite3

db = sqlite3.connect('test.db')
cur = db.cursor()

for row in cur.execute(query.sql, query.params):
    print(row)

Acknowledgment

Big thanks to JetBrains to let me use PyCharm for free!

Project details


Download files

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

Source Distribution

sql_smith-1.1.1.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

sql_smith-1.1.1-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

Details for the file sql_smith-1.1.1.tar.gz.

File metadata

  • Download URL: sql_smith-1.1.1.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.6 Linux/5.15.0-71-generic

File hashes

Hashes for sql_smith-1.1.1.tar.gz
Algorithm Hash digest
SHA256 5622205e4f8f1815ddb0bd347a0bc6bece507d2fccaa948f867f407dd6cf9c3d
MD5 d5b02491badecd39b6b1a89d4689eac1
BLAKE2b-256 e62319691141bd471092760f72bfc5546ad60acdcdf754b8c8d345e17a51ffbf

See more details on using hashes here.

Provenance

File details

Details for the file sql_smith-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: sql_smith-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.6 Linux/5.15.0-71-generic

File hashes

Hashes for sql_smith-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f092a1816ee7bfd740cd381a38c2d4524e101f580eec0cb8ec6882ee8f90bbed
MD5 8c6c1c05623ce319fbc668b05ef8919c
BLAKE2b-256 6028ddbaef092f0c8dbdd2eaec8391c2d4ab1d3d7013912a1c0151721a4d34d2

See more details on using hashes here.

Provenance

Supported by

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