Skip to main content

Moschitta Query Documentation

The moschitta-query package provides a Fluent Query Builder for the Moschitta Framework, enabling developers to generate SQL queries programmatically using a fluent interface.

Installation

You can install moschitta-query via pip:

pip install moschitta-query

Or use it with Poetry:

poetry add moschitta-query

Usage

Basic Query Construction

To use moschitta-query, you need to initialize an instance of the Query class.

from moschitta_query.query import Query

# Create a basic select query
query = Query().select('id', 'name').from_('users')
print(query.to_sql())
# Output: SELECT id, name FROM users

Adding Conditions

You can add conditions to your query using the where method.

# Add a where clause to the query
query = Query().select('*').from_('users').where('age > 21')
print(query.to_sql())
# Output: SELECT * FROM users WHERE age > 21

Joining Tables

Perform joins using the join method.

# Perform an inner join with another table
query = Query().select('users.id', 'users.name', 'orders.total').from_('users') \
               .join('orders', 'users.id = orders.user_id')
print(query.to_sql())
# Output: SELECT users.id, users.name, orders.total FROM users JOIN orders ON users.id = orders.user_id

Ordering Results

Specify the order of the result set using the order_by method.

# Order the result set by a column
query = Query().select('name').from_('users').order_by('name')
print(query.to_sql())
# Output: SELECT name FROM users ORDER BY name

API Reference

moschitta_query.query.Query

  • select(*columns: str) -> Query: Specifies the columns to select in the query.
  • from_(table: str) -> Query: Specifies the table to select data from.
  • where(*conditions: str) -> Query: Adds conditions to filter the result set.
  • join(table: str, on_clause: str) -> Query: Performs an inner join with another table.
  • left_join(table: str, on_clause: str) -> Query: Performs a left outer join with another table.
  • right_join(table: str, on_clause: str) -> Query: Performs a right outer join with another table.
  • order_by(*columns: str) -> Query: Specifies the columns to order the result set by.
  • group_by(*columns: str) -> Query: Groups the result set by the specified columns.
  • having(*conditions: str) -> Query: Adds conditions to filter the grouped result set.
  • limit(count: int) -> Query: Limits the number of rows returned by the query.
  • offset(start: int) -> Query: Specifies the starting offset for the result set.
  • to_sql() -> str: Returns the constructed SQL query as a string.

Contributing

Contributions to moschitta-query are welcome! You can contribute by opening issues for bugs or feature requests, submitting pull requests, or helping improve the documentation.

License

This project is licensed under the terms of the MIT License.

Release files for moschitta-query 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for moschitta-query 0.1.0
File Size Uploaded
moschitta_query-0.1.0.tar.gz 4.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for moschitta-query 0.1.0
File Interpreter ABI Platform
moschitta_query-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.4 kB

Release files / moschitta_query-0.1.0.tar.gz

Download URL moschitta_query-0.1.0.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
573011472596b3056d5bff9386e565459decc2b86c02bd4ddd24d5060ab51662
BLAKE2b-256 checksum
How to use checksums
1034b6a5200c505b3243d08fdd2558e8568749c67081264fd268d9cb1a141a66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.3.2 CPython/3.11.2 Linux/6.5.0-13parrot1-amd64

Release files / moschitta_query-0.1.0-py3-none-any.whl

Download URL moschitta_query-0.1.0-py3-none-any.whl
Size 5.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
442477f2e06302035f62cfeb22d1d8290eb605911fc2c23e67dbee3c832d5ca8
BLAKE2b-256 checksum
How to use checksums
d8a93bf6440338945c0193282da2422a7eb8886b6db7a6875e2d3003ad2939b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.3.2 CPython/3.11.2 Linux/6.5.0-13parrot1-amd64

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page