3
 (ƒh4  ã               @   sê   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„Z*dS )
a‚  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: https://psycopg.org/

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

:Groups:
  * `Connections creation`: connect
  * `Value objects constructors`: Binary, Date, DateFromTicks, Time,
    TimeFromTicks, Timestamp, TimestampFromTicks
é    )ÚBINARYÚNUMBERÚSTRINGÚDATETIMEÚROWIDÚBinaryÚDateÚTimeÚ	TimestampÚDateFromTicksÚTimeFromTicksÚTimestampFromTicksÚErrorÚWarningÚ	DataErrorÚDatabaseErrorÚProgrammingErrorÚIntegrityErrorÚInterfaceErrorÚInternalErrorÚNotSupportedErrorÚOperationalErrorÚ_connectÚapilevelÚthreadsafetyÚ
paramstyleÚ__version__Ú__libpq_version__)Útz)Ú
extensionsN)ÚDecimalc             K   sz   i }d|kr|j dƒ|d< d|kr0|j dƒ|d< | dkrF| rFtdƒ‚tj| f|Ž} t| fd|i|—Ž}|dk	rv||_|S )a  
    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.

    ÚasyncZasync_Nzmissing dsn and no parametersÚconnection_factory)ÚpopÚ	TypeErrorÚ_extZmake_dsnr   Úcursor_factory)Zdsnr"   r&   ÚkwargsZkwasyncÚconn© r)   ú>/tmp/pip-install-q3hcpn_q/psycopg2-binary/psycopg2/__init__.pyÚconnectR   s    #r+   )NNN)+Ú__doc__Z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   Zpsycopg2r   r   r%   Zregister_adapterÚtupleZSQL_INÚtypeZNoneAdapterÚdecimalr    ZAdapterr+   r)   r)   r)   r*   Ú<module>   s   !x