Skip to main content

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

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

Uploaded Source

Built Distribution

baresql-0.7.4-py2.py3-none-any.whl (11.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file baresql-0.7.4.tar.gz.

File metadata

  • Download URL: baresql-0.7.4.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for baresql-0.7.4.tar.gz
Algorithm Hash digest
SHA256 797daa263ac1f826394318c27090afca665663750d58a5f9fb9cd98c16eaf2b1
MD5 a0e35f87188bcdcbb8571eb8e639121f
BLAKE2b-256 c514ba7e63228dfd8ea9f1b7070ed2f245d8a9abcdeaaee3d130ee866f9cfc6e

See more details on using hashes here.

File details

Details for the file baresql-0.7.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for baresql-0.7.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ce2de6460484858da32111d50989b4676fad156ecb7feb8321f7a71ab742e2f1
MD5 68b9aa1042e9fd1183bc78ce378607b3
BLAKE2b-256 e1c63b1365915b1bbddab55ec44416829614fd1185e9d1c88d7dcf5153a6e8d1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page