py-partiql-parser
Pure Python PartiQL Parser
What it is and what it does
py-partiql-parser is a dependency-free tokenizer and parser for PartiQL, a SQL-like query language designed for semi-structured data. It lets you write SELECT queries against JSON objects and DynamoDB-formatted records in Python, with support for WHERE clauses and parameterized queries. The parser is implemented as a naive, test-driven tokenizer without external dependencies, making it lightweight to install and embed.
The library is explicitly marked Beta and acknowledges gaps in its implementation—notably missing support for aggregate functions like count(*) and CSV conversion. It also documents known deviations from the official PartiQL spec where AWS services (S3 Select, DynamoDB) diverge from the standard. This is a niche tool for developers who need to execute PartiQL queries programmatically in Python, particularly when working with AWS data services or JSON data that benefits from SQL-like query syntax.
Use it for:
- Query JSON objects with SELECT syntax in S3 Select integration workflows
- Execute parameterized queries against DynamoDB-formatted data structures locally
- Parse and evaluate PartiQL statements in Python applications without external query engines
- Build testing or mocking layers for AWS query services that use PartiQL
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses and executes PartiQL queries against JSON and DynamoDB-formatted data, supporting SELECT statements with WHERE clauses and parameter binding.
Yes, if you need to parse and execute PartiQL queries in Python and accept Beta-stage stability. The zero-dependency design and MIT license are strong points. No, if you require production-grade maturity, comprehensive PartiQL spec compliance, or aggregate function support—the aging maintenance status (300 days since last release) and minimal community activity suggest limited ongoing development.
Install
py-partiql-parser on PyPI
pip
pip install py-partiql-parseruv
uv add py-partiql-parserpoetry
poetry add py-partiql-parserInstalling py-partiql-parser
Before you install
Low install friction with no runtime dependencies. Maintenance is aging—last release was 300 days ago and the repository has minimal activity (7 stars), though it remains active and not archived.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it safe for commercial and private projects.
Quickstart
from py_partiql_parser import S3SelectParser
import json
original_json = json.dumps({"a1": "b1", "a2": "b2"})
parser = S3SelectParser(source_data={"s3object": original_json})
result = parser.parse("SELECT * FROM s3object")
Verify before relying
- Extent of PartiQL spec compliance beyond SELECT and WHERE; AWS deviations from spec are documented but scope of support unclear
- Production readiness: marked Beta; stability and error handling robustness in edge cases not detailed
- Performance characteristics with large datasets or complex queries
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 300 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 20,887,317/month — #1,024 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: py_partiql_parser-0.6.3-py2.py3-none-any.whl
Keywords: parser, pypartiql
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
pydynamodbPyDynamoDB is a DB API 2.0 client for Amazon…
permissive · top 15,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
ddlparseParses CREATE TABLE DDL statements from MySQL,…
permissive · top 15,000 on PyPI
javalangjavalang is a pure Python lexer and parser for…
permissive · top 15,000 on PyPI
moz-sql-parserParses SQL queries into JSON-serializable parse…
copyleft · top 15,000 on PyPI
yaqlYAQL is an embeddable query language for Python…
permissive · top 15,000 on PyPI
wikitextparserParses and manipulates MediaWiki wikitext…
copyleft · top 15,000 on PyPI
sql-formatterReformats SQL queries into standardized,…
permissive · top 5,000 on PyPI
dynamodb-jsonConverts Python objects to and from DynamoDB's…
unclear · top 5,000 on PyPI
partialjsonParses incomplete or malformed JSON strings…
permissive · top 15,000 on PyPI