Metadata-Version: 1.1
Name: odbctools
Version: 0.6.0
Summary: A set of tools to simplify connecting to and working with an ODBC data source
Home-page: https://github.com/N-C-C/odbctools
Author: Andrew Yatsko
Author-email: ayatsko@live.com
License: MIT
Description: odbctools
        =========
        
        Overview
        --------
        odbc tools is a set of tools to simplify connecting to and working with an ODBC data source. It includes a context manager for handling connections to the data source and the ability to return a result set in an easy to use format or write the results to a file.
        
        Install It
        ----------
        From PyPI ::
        
            $ pip install odbctools
        
        
        Use It
        ------
        Odbctools by default uses a file called config.ini, or you can override this for different scenarios, including passing the dsn directly.
        
        Create config.ini ::
        
            [odbc]
            DSN=SourceName
        
        Code Example ::
        
            from odbctools import OdbcManager
        
            query_string = "Your query here"
            params = [p1, p2]
        
            with OdbcManager() as datasource:
                result_list = datasource.get_dictionaries(query_string, params)
                for result_dict in result_list:
                    for col_name, col_data in result_dict.items():
                        print("{0}{1}".format(str(col_name).ljust(25), col_data))
        
        Another Example ::
        
            from odbctools import OdbcManager
        
            query_string = "Your query here"
            params = [p1, p2]
        
            with OdbcManager(dsn='ODBC Name Here') as datasource:
                result_list = datasource.get_dictionaries_in_queue(query_string, params)
                for result_dict in result_list:
                    for col_name, col_data in result_dict.items():
                        print("{0}{1}".format(str(col_name).ljust(25), col_data))
        
        Encapsulating the connection in your classes is also possible ::
        
                class Foo:
                    def __init__(self):
                        self.connection = OdbcManager(dsn='unity64')
        
                    def __enter__(self):
                        self.connection.open_connection()
                        return self
        
                    def __exit__(self, exc_type, exc_val, exc_tb):
                        self.connection.close_connection()
        
                with Foo() as f:
                    data = f.connection.get_dictionaries('select top 1 * from people', list())
        
        *Note: You can now create a OdbcManager object with a connection string, passing in the connection_string argument.*
        
        Returning data from a query
        ---------------------------
        **query** - Returns list that contains [0]A list containing the query columns [1:] A list of the resulting data (rows)
        
        **get_dictionaries** - Queries data source, returns a list of dictionaries.
        
        **get_dictionaries_in_queue** - Queries data source, returns a deque of dictionaries.
        
        **write_to_csv** - Queries data source and writes results to a CSV file
        
        Updating data
        -------------
        *Note: by default commit is turned off, if you want to enable auto commit, you can set it when creating the OdbcManager object or when calling this function.*
        
        **query_no_resultset** - For running DDL/DML queries for creating, deleting, updating records.
        
        
        Dependencies
        ------------
        * pypyodbc
        
        License
        --------
        MIT
        
        
Keywords: odbc database data sql informix
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Database
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
