Metadata-Version: 1.1
Name: dbms
Version: 1.1.1
Summary: DataBases Made Simpler - Uniform interface for multiple adapters
Home-page: https://sourceforge.net/projects/pydbms/
Author: Scott Bailey
Author-email: scottrbailey@gmail.com
License: LICENSE.txt
Description: ===========
        DBMS - DataBases Made Simpler
        ===========
        
        DBMS is a database took kit that wraps and provides
        uniform interface to other DB API compliant adapters. 
        
        It manages connections, doing automatic imports and providing a
        uniform connection method to most common databases.
        Implements DictCursor, NamedTupleCursor and OrderedDictCursor.
        
        It currently supports IBM DB2, Firebird, MSSQL Server, MySQL, Oracle,
        PostgreSQL, SQLite and ODBC connections.
        
        Sample usage::
        	>>> import dbms
        	>>> db = dbms.connect.postgres('UserName', 'SuperSecret', 'Chinook')
        	>>> cur = db.cursor()
        	>>> cur.execute('SELECT * FROM artist WHERE artistid = %s', (101,))
        	>>> row = cur.fetchone()
        	>>> row.pprint()
        	artistid : 101
        	name     : Lulu Santos
        	
        	# Database Inspection
        	>>> db.inspect.tables()
        	['album', 'artist', 'customer', 'employee', 'genre', 'invoice', 'invoiceline', 'mediatype', 'playlist', 'playlisttrack', 'track']
        	>>> db.inspect.columns('album')
        	['albumid', 'title', 'artistid']
        	>>> db.probe.getColumns('album')
        	[Record('albumid', 'integer', 'N', 'Y'), 
        	Record('title', 'character varying', 'N', None), 
        	Record('artistid', 'integer', 'N', None)]
        	
        	# Saved connections
        	>>> dbms.servers.list()
        	['ChinookPg', 'ChinookLTE']
        	# open saved connection
        	>>> db = dbms.servers.open('ChinookPg')
        	Enter master password:
        	********
        	
        	# logged cursor
        	>>> cur = db.loggedCursor()
        	>>> cur.execute('SELECT * FROM "Album" WHERE "ArtistId" = %s', (1,))
        	>>> dbms.logger.view(limit=1)
        	[Record('2014-07-01 08:11:48', 'ChinookPg', 'SELECT * FROM "Album" WHERE "ArtistId" = %s', (1))]
        	
        	# utilities
        	>>> from dbms import utils
        	>>> query, params = utils.formatQuery(('SELECT * FROM Album WHERE ArtistId = ',
        			Param(1),
        			'AND AlbumId < ',
        			NamedParam('maxAlbumId', 50)),
        			cur.paramstyle)
        	>>> cur.execute(query, params)
        	>>> utils.cursorToXLSX(cur, '/tmp/AlbumList.xlsx')
        	>>> cur.execute('SELECT * FROM Album')
        	>>> utils.cursorToCursorCopy(cur, destCur, 'album')
        	>>> query = 'SELECT * FROM artist WHERE artistid BETWEEN %s AND %s'
        	>>> cur.execute(query, (100, 105))
        	>>> utils.cursorToJSON(cur)
        	[
        	{"artistid": 100, "name": "Lenny Kravitz"},
        	{"artistid": 101, "name": "Lulu Santos"},
        	{"artistid": 102, "name": "Marillion"},
        	{"artistid": 103, "name": "Marisa Monte"},
        	{"artistid": 104, "name": "Marvin Gaye"},
        	{"artistid": 105, "name": "Men At Work"},
        	]
        	>>> cur.execute(query, (100, 105))
        	>>> utils.cursorToFixedWidth(cur)
        	ARTISTID  NAME            
        	100       Lenny Kravitz   
        	101       Lulu Santos     
        	102       Marillion       
        	103       Marisa Monte    
        	104       Marvin Gaye     
        	105       Men At Work 
        	
        	
Keywords: database dbms rdbms Oracle PostgreSQL MySQL SQLServer Firebird DB2 SQLite ODBC
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.1
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: SQL
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Database
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
