skip to navigation
skip to content

baresql 0.7.4

playing SQL directly on Python datas

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)

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
 
File Type Py Version Uploaded on Size
baresql-0.7.4-py2.py3-none-any.whl (md5) Python Wheel py2.py3 2016-09-18 11KB
baresql-0.7.4.tar.gz (md5) Source 2016-09-18 9KB