
9^c           @   sP  d  Z  d d l m Z m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d d l m Z d d l m  Z! e! j" e# e! j$  e! j" e% d  e! j'  d d l( m) Z) d d l m) Z* e! j" e) e*  [) [* d d d d  Z+ d S(   s  A Python driver for PostgreSQL

psycopg is a PostgreSQL_ database adapter for the Python_ programming
language. This is version 2, a complete rewrite of the original code to
provide new-style classes for connection and cursor objects and other sweet
candies. Like the original, psycopg 2 was written with the aim of being very
small and fast, and stable as a rock.

Homepage: http://initd.org/projects/psycopg2

.. _PostgreSQL: https://www.postgresql.org/
.. _Python: https://www.python.org/

:Groups:
  * `Connections creation`: connect
  * `Value objects constructors`: Binary, Date, DateFromTicks, Time,
    TimeFromTicks, Timestamp, TimestampFromTicks
i(   t   BINARYt   NUMBERt   STRINGt   DATETIMEt   ROWIDt   Binaryt   Datet   Timet	   Timestampt   DateFromTickst   TimeFromTickst   TimestampFromTickst   Errort   Warningt	   DataErrort   DatabaseErrort   ProgrammingErrort   IntegrityErrort   InterfaceErrort   InternalErrort   NotSupportedErrort   OperationalErrort   _connectt   apilevelt   threadsafetyt
   paramstylet   __version__t   __libpq_version__(   t   tz(   t
   extensions(   t   Decimalc         K   s   i  } d | k r( | j  d  | d <n  d | k rJ | j  d  | d <n  |  d k rl | rl t d   n  t j |  |  }  t |  d | | } | d k	 r | | _ n  | S(   s  
    Create a new database connection.

    The connection parameters can be specified as a string:

        conn = psycopg2.connect("dbname=test user=postgres password=secret")

    or using a set of keyword arguments:

        conn = psycopg2.connect(database="test", user="postgres", password="secret")

    Or as a mix of both. The basic connection parameters are:

    - *dbname*: the database name
    - *database*: the database name (only as keyword argument)
    - *user*: user name used to authenticate
    - *password*: password used to authenticate
    - *host*: database host address (defaults to UNIX socket if not provided)
    - *port*: connection port number (defaults to 5432 if not provided)

    Using the *connection_factory* parameter a different class or connections
    factory can be specified. It should be a callable object taking a dsn
    argument.

    Using the *cursor_factory* parameter, a new default cursor factory will be
    used by cursor().

    Using *async*=True an asynchronous connection will be created. *async_* is
    a valid alias (for Python versions where ``async`` is a keyword).

    Any other keyword parameter will be passed to the underlying client
    library: the list of supported parameters depends on the library version.

    t   asynct   async_s   missing dsn and no parameterst   connection_factoryN(   t   popt   Nonet	   TypeErrort   _extt   make_dsnR   t   cursor_factory(   t   dsnR!   R'   t   kwargst   kwasynct   conn(    (    s3   /tmp/pip-unpacked-wheel-WyN9Ij/psycopg2/__init__.pyt   connectQ   s    #N(,   t   __doc__t   psycopg2._psycopgR    R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   t   psycopg2R   R   R%   t   register_adaptert   tuplet   SQL_INt   typeR#   t   NoneAdaptert   decimalR   t   AdapterR,   (    (    (    s3   /tmp/pip-unpacked-wheel-WyN9Ij/psycopg2/__init__.pyt   <module>   s    