playing SQL directly on Python datas
Project description
baresql : playing SQL directly on Python datas
- baresql improves sql agility of python data science beginners by :
allowing sql over python objects (list, ranges, …) and SQL Tables,
requiring no special module except : pandas.
Inspiration :
pypi.python.org/pypi/pandasql : sqldf for pandas
pypi.python.org/pypi/ipython-sql : sql magic in Ipython
Features
query lists , tuple, dictionnaries, dataframes
result as a dataframe, list of records, or list
basic Common Table Expression support on old python3.3- versions
Installation
You can install, upgrade, uninstall sqlite_bro.py with these commands:
$ pip install baresql $ pip install --upgrade baresql $ pip uninstall baresql
or just launch it from IPython with %load https://raw.githubusercontent.com/stonebig/baresql/master/baresql/baresql.py
Basic Example
from __future__ import print_function, unicode_literals, division # if Python2.7 from baresql import baresql bsql = baresql.baresql(keep_log = True ) bsqldf = lambda q: bsql.df(q, dict(globals(),**locals())) users = ['Alexander', 'Bernard', 'Charly', 'Danielle', 'Esmeralda', 'Franz'] # We use the python 'users' list like a SQL table sql = "select 'Welcome ! ' , c0 from users$$" bsqldf(sql)
Examples
http://nbviewer.ipython.org/github/stonebig/baresql/blob/master/examples/baresql_with_cte.ipynb
Links
Changelog
2014-11-11a : v0.7.0.0 ‘I Need this !’
first version on pypi
compatibility fix for python 2.7
removed sqlite_py_manager (gone to sqlite_bro package)
older versions :
0.7.2 : support space in dataframe column title
0.7.1 : cleanups
0.7.0 : support of pandas 0.14 sqlalchemy
0.6.6 : sqlite_py_manager.py browser added functions and fix, fix tokenizer error in baresql
0.6.4 : minimal compatibility of sqlite_py_manager.py with old versions : python 2.7 and sqlite 3.6.21
0.6.1 : a pure standard-installation Python SQLite browser in examplessqlite_py_manager.py
0.6 : first version with correct mysql support
0.5.1 : bug correction + SQLite3.8.3 beta from 2013-01-22
0.5 : use SQLite true CTE if SQLite >= 3.8.3
0.4.1 : inline CTE when syntax is “with x as (y)”
0.4 : rewrite with token
0.3.2 : support comments in the SQL
0.3 : includes a basic CTE
0.2 : add “range(10)” iterable object support
0.1 : initial version
Project details
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
Hashes for baresql-0.7.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9abf3ed8dc6d27eeef6ef8476052104814fd559400acd8df8114bbadb99d04b2 |
|
MD5 | 854ce25d6e341f4dbab172cb430cfa65 |
|
BLAKE2b-256 | 9dda36ec1696e6a3b12831825d09b64dd28ed6a5996206e418192f87e788ef23 |