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
2016-09-18a : v0.7.4 ‘pandas walk’
- bug fix: pandas 0.19 compatibility fix
older versions :
- 0.7.3 : Python keyword is ‘pass’, not ‘Pass’
- 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
baresql-0.7.4.tar.gz
(9.5 kB
view hashes)
Built Distribution
Close
Hashes for baresql-0.7.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce2de6460484858da32111d50989b4676fad156ecb7feb8321f7a71ab742e2f1 |
|
MD5 | 68b9aa1042e9fd1183bc78ce378607b3 |
|
BLAKE2-256 | e1c63b1365915b1bbddab55ec44416829614fd1185e9d1c88d7dcf5153a6e8d1 |