Metadata-Version: 2.0
Name: baresql
Version: 0.7.4
Summary: playing SQL directly on Python datas
Home-page: https://github.com/stonebig/baresql
Author: stonebig
Author-email: write_pull_requests_to_stonebig@github.com
License: MIT license
Keywords: sqlite,sql
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Dist: pandas

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
-----

* `Fork me on GitHub <http://github.com/stonebig/baresql>`_

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 examples\sqlite_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


