Skip to content

kiril/vaportable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

VaporTable
===========

VaporTable is a tiny framework for using a subset of SQL to access arbitrary Python code,
in a controlled, secure, and decoupled way.  It's not as crazy as it sounds.  It gives
a nice layer of simple-to-use abstraction into querying a system.  People know SQL, which
makes it easy to learn.  Be able to change the representation of underlying data really
easily, and leave the query interface intact.

You could:
* limit SQL that can be run against a given database by end-users
* allow arbitrary SQL, but run 'explain' before each query is run to prevent performance
  problems
* build an SQL-like interface into an in-memory data structure

Anyway, it is what you make it. :)



A couple of implementations at this point, which demonstrate potential:

1) vdjango.py - Using VQL to access Django models.  Not as backward as it sounds.
2) vsql.py - Build models that translate VQL into SQL, but restrict and translate
             access to columns, queryability, etc.

Requirements
============
* Python 2.5+ (likely works earlier)
* pyparsing (sweet little DSL for creating parsers)
* Django, if you want to use vdjango


TODO:
=====
* Unit Tests
* Egg
* Update & Insert for:
  * vdjango
  * vsql
* Simple args-to-function impl... 'vfunction'
  * write a decorator for that, sexxxxxy
* Clean up Python, since I've become more competent since inception. :)

About

SQL interface into Python. Seriously.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages