sql_to_pypika
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.BasicCriterionDisclaimer
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 installWe use pytest and Black for testing and linting respectively. You can use the scripts in the scripts folder to run them.