jsqlib 0.9a0

Creator: railscoder56

Last updated:

Add to Cart

Description:

jsqlib 0.9a0

jsqlib

JSON to SQL query generator.



Builds SQL queries from pre-designed JSON structures.

Installation
OS X & Linux & Windows:
pip install jsqlib

Usage example
from jsqlib import Query

json = """{
"query": {
"select": [
{
"eval": 1
}
]
}
}
"""

query = Query(json)
assert query.sql == 'select 1'

schema = '{}'
query = Query(json, schema=schema) # optional schema to validate the query
query.validate() # explicit query validation

Development setup

coverage

$ poetry run pytest --cov


format

$ poetry run black jsqlib -S


lint

$ poetry run ruff check


type checking

$ poetry run pyre

Release History

0.9a0

CHANGE: python-box library updated to version 7 (#28)
CHANGE: sqlfluff library updated to version 3. Warning: query.prettify output may change. (#34)
CHANGE: python 3.12 support (#35)


0.8a0

CHANGE: nested select in insert from select statement (#31)


0.7a0

ADD: <~~> unquoting wrapper support (#29)


0.6a0

CHANGE: validating the rendered json query against the provided schema without any changes (#26)


0.5a0

FIX: local variable 'data' referenced before assignment in Builder._update (#18)
ADD: support for a name attribute in JSON select definition (#20)
ADD: validating JSON query against a schema if any (#19)


0.4a0

FIX: order by implicit asc construct (#16)
CHANGE: library no longer modifies the original json query (#15)
ADD: __version__ package attribute (#14)


0.3a0

ADD: not like, delete using constructs (#12, #13)


0.2a0

ADD: dialect based stringification (#11)
ADD: custom builder support (#10)


0.1a0

initial alpha-release


0.0.1

wip



Meta
pymancer@gmail.com (Polyanalitika LLC)
https://gitlab.com/ru-r5/jsqlib
License
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
Contributing

Fork it (https://gitlab.com/ru-r5/jsqlib/fork)
Create your feature branch (git checkout -b feature/foo)
Commit your changes (git commit -am 'Add some foo')
Push to the branch (git push origin feature/foo)
Create a new Pull Request

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.