GitHunt
PA

pahwaranger/sql_to_pypika

sql_to_pypika

Tests Status codecov Code style: black

Helper util for converting raq SQL expressions to PyPika objects. This is neither comprehensive nor perfect. My hope with creating a repo for this is that if people are interested then we can expand on this from here.

Usage

tables = [("foo", "foo"), ("bar", "b")]
evaluator = ExpressionEvaluator(tables)
result = evaluator.eval("foo.fizz = 1")

print(result)  # "foo"."fizz"=1'
type(result)   # pypika.terms.BasicCriterion

result = evaluator.eval("bar.fizz = 1")
print(result)  # "b"."fizz"=1'
type(result)   # pypika.terms.BasicCriterion

Disclaimer

The logic was initially created by @twheys, the creator of PyPika (gist) via this conversation.

I went ahead and cleaned it up and added some tests so I could use it for my own needs.

Dev / CI

This repo utilize Poetry, for package management. I recommend reading the Poetry install instructions here.

You can then simply run:

poetry install

We use pytest and Black for testing and linting respectively. You can use the scripts in the scripts folder to run them.

Languages

Python97.0%Shell3.0%

Contributors

MIT License
Created March 26, 2022
Updated August 22, 2024