Universal query language for data structures - 50+ operations, 35+ format converters
Project description
xwquery
One universal query language. Execute on Python data or convert between SQL, GraphQL, Cypher, and 35+ formats with a single engine. One script (XWQS) for the zone; used by xwstorage, xwaction, xwbase.
Company: eXonware.com · Author: eXonware Backend Team · Email: connect@exonware.com
Version: version.py (__version__, __date__)
Install
pip install exonware-xwquery
Requires xwsystem; xwsyntax for grammars. See docs/GUIDE_01_USAGE.md for details.
Quick start
from exonware.xwquery import XWQuery
data = {'users': [
{'name': 'Alice', 'age': 30, 'city': 'NYC'},
{'name': 'Bob', 'age': 25, 'city': 'LA'},
{'name': 'Charlie', 'age': 35, 'city': 'NYC'},
]}
result = XWQuery.execute("""
SELECT name, age
FROM users
WHERE age > 25 AND city = 'NYC'
""", data)
# result.data → [{'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 35}]
Convert between formats: XWQuery.convert(sql_string, from_format='sql', to_format='graphql').
Parse only: XWQuery.parse("SELECT * FROM users", source_format='sql').
Key code: REF_14_DX · API: REF_15_API.
What you get
| Area | Description |
|---|---|
| Execution | Run queries on any Python data (node or table). Parse → plan → execute; one engine, one contract. |
| Grammars | 35+ formats (SQL, GraphQL, Cypher, SPARQL, MQL, PromQL, JQ, JMESPath, …) via xwsyntax. Parse, generate, validate. |
| Operations | CRUD, filtering, aggregation, graph (MATCH, PATH), JOIN, UNION, WINDOW, PIPE, and more. |
| Integration | Consumed by xwstorage, xwaction, xwbase. One universal script (XWQS); zone execution (e.g. S3) converts to XWQS first. |
Current phase: Alpha. Executor refactor and doc alignment in progress. Status: REF_22_PROJECT.
Docs and tests
- Start: docs/INDEX.md
- Usage: docs/GUIDE_01_USAGE.md
- Requirements and status: REF_01_REQ, REF_22_PROJECT
- API and design: REF_15_API, REF_13_ARCH, REF_14_DX
- Tests: REF_51_TEST. Run from project root (pytest or project test runner).
License and links
MIT — LICENSE.
Homepage: https://exonware.com · Repository: https://github.com/exonware/xwquery
Contributing → CONTRIBUTING.md · Security → SECURITY.md (when present).
Built with ❤️ by eXonware.com - Revolutionizing Python Development Since 2025
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exonware_xwquery-0.9.0.5.tar.gz.
File metadata
- Download URL: exonware_xwquery-0.9.0.5.tar.gz
- Upload date:
- Size: 6.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d54bfdb1adba6d360e47dd34d6a8710d437b4caadb7cd79870328fcfb6201c27
|
|
| MD5 |
4d5816f1a9d73ead85ad68c9b322fcce
|
|
| BLAKE2b-256 |
45bd12947f9072f05adea1a9419e39291359ce3f12bf4b61fefad4a51b478490
|
File details
Details for the file exonware_xwquery-0.9.0.5-py3-none-any.whl.
File metadata
- Download URL: exonware_xwquery-0.9.0.5-py3-none-any.whl
- Upload date:
- Size: 482.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
207f1d6323443da3deeac2f9627156cdcdcd8b03d71d570dee9bd14cd8f9da1d
|
|
| MD5 |
71718b7f00605308fe56da1c10d37669
|
|
| BLAKE2b-256 |
07a6febde321ed1688adb5f95a0854baba0e21faf891bdeb210d67ac9f4a7381
|