teradatasqlalchemy


Nameteradatasqlalchemy JSON
Version 20.0.0.3 PyPI version JSON
download
home_pagehttp://www.teradata.com/
SummaryTeradata SQL Driver Dialect for SQLAlchemy
upload_time2024-10-30 08:15:27
maintainerNone
docs_urlNone
authorTeradata Corporation
requires_python>=3.4
licenseTeradata License Agreement
keywords teradata
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## Teradata SQL Driver Dialect for SQLAlchemy

This package enables [SQLAlchemy](https://pypi.org/project/SQLAlchemy/) to connect to the Teradata Database.

This package requires 64-bit Python 3.4 or later, and runs on Windows, macOS, and Linux. 32-bit Python is not supported.

For community support, please visit the [Teradata Community forums](https://community.teradata.com/).

For Teradata customer support, please visit [Teradata Access](https://access.teradata.com/).

Copyright 2024 Teradata. All Rights Reserved.

### Table of Contents

* [Release Notes](#release-notes)
* [Installation](#Installation)
* [License](#License)
* [Documentation](#Documentation)
* [Using the Teradata SQL Driver Dialect for SQLAlchemy](#Using)
* [Connection Parameters](#ConnectionParameters)

## Release Notes:

### teradatasqlalchemy 20.0.0.3
- Implemented `visit column()` method to add `table name` or `alias name` while generating string representation of `SQL expression`. 
- Implemented `visit_function()` method to add `table name` or `alias name` while generating string representation of `Function expression`.

### teradatasqlalchemy 20.0.0.2
- Updated queryband utility to be used by multiple python packages in multilevel hierarchy of imports.
- `has_table()` now checks for existence of **views** as well by default. When new keyword argument `table_only` is set to `True`, `has_table()` will exclusively check for existence of tables only.

### teradatasqlalchemy 20.0.0.1
- Minor bug fix for inline help.

### teradatasqlalchemy 20.0.0.0
- Added a utility to enable querybands for function calls in python packages. Any python client package can import queryband package and can configure its name and version to track the vantage usage with help of logs available with DBQlogTbl.

### teradatasqlalchemy 17.20.0.0
- Added support for SQLAlchemy >= 2.0
- `div` operator is no more supported.

### teradatasqlalchemy 17.0.0.5
- Added xviews support for below APIs.:
  - `get_columns`
  - `get_foreign_keys`
  - `get_pk_constraint`
  - `get_schema_names`
  - `get_transaction_mode`
  - `get_unique_constraints`

### teradatasqlalchemy 17.0.0.4
- Added ART Table support for `get_columns` API.

### teradatasqlalchemy 17.0.0.3
- Resolved a minor bug.

### teradatasqlalchemy 17.0.0.2
- Added support for below Teradata's datatypes:
  - JSON
  - XML
  - TDUDT  
  - GEOMETRY
  - MBR
  - MBB
- Optimised below APIs
  - has_table
  - has_view
  - get_table_names
  - get_view_names
- Minor bug fixes.


<a name="Installation"></a>

### Installation

Use pip to install the Teradata SQL Driver Dialect for SQLAlchemy.

Platform       | Command
-------------- | ---
macOS or Linux | `pip install teradatasqlalchemy`
Windows        | `py -3 -m pip install teradatasqlalchemy`

When upgrading to a new version of the Teradata SQL Driver Dialect for SQLAlchemy, you may need to use pip install's `--no-cache-dir` option to force the download of the new version.

Platform       | Command
-------------- | ---
macOS or Linux | `pip install --no-cache-dir -U teradatasqlalchemy`
Windows        | `py -3 -m pip install --no-cache-dir -U teradatasqlalchemy`

<a name="License"></a>

### License

Use of the Teradata SQL Driver Dialect for SQLAlchemy is governed by the *License Agreement for the Teradata SQL Driver Dialect for SQLAlchemy*.

When the Teradata SQL Driver Dialect for SQLAlchemy is installed, the `LICENSE` file is placed in the `teradatasqlalchemy` directory under your Python installation directory.

<a name="Documentation"></a>

### Documentation

When the Teradata SQL Driver Dialect for SQLAlchemy is installed, the `README.md` file is placed in the `teradatasqlalchemy` directory under your Python installation directory. This permits you to view the documentation offline, when you are not connected to the Internet.

The `README.md` file is a plain text file containing the documentation for the Teradata SQL Driver Dialect for SQLAlchemy. While the file can be viewed with any text file viewer or editor, your viewing experience will be best with an editor that understands Markdown format.

<a name="Using"></a>

### Using the Teradata SQL Driver Dialect for SQLAlchemy

Your Python script must import the `sqlalchemy` package in order to use the Teradata SQL Driver Dialect for SQLAlchemy.

    import sqlalchemy

After importing the `sqlalchemy` package, your Python script calls the `sqlalchemy.create_engine` function to open a connection to the Teradata Database.

Specify the Teradata Database hostname as the *host* component of the URL. Note that COP Discovery is not implemented yet.

The URL's *host* component may optionally be followed by a slash and question mark `/?` and the URL's *query* component consisting of connection parameters specified as *key*`=`*value* pairs separated by ampersand `&` characters.

The username and password may be specified as a *host* prefix, or as connection URL parameters.

Username and password specified as a *host* prefix:

    eng = sqlalchemy.create_engine('teradatasql://guest:please@whomooz')

Username and password specified as connection URL parameters:

    eng = sqlalchemy.create_engine('teradatasql://whomooz/?user=guest&password=please')

Username and password specified as connection URL parameters take precedence over a *host* prefix, if both are specified.

<a name="ConnectionParameters"></a>

### Connection Parameters

The following table lists the connection parameters currently offered by the Teradata SQL Driver Dialect for SQLAlchemy.

Our goal is consistency for the connection parameters offered by the Teradata SQL Driver Dialect for SQLAlchemy and the Teradata JDBC Driver, with respect to connection parameter names and functionality. For comparison, Teradata JDBC Driver connection parameters are [documented here](http://developer.teradata.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#BGBHDDGB).

Parameter          | Default   | Type    | Description
------------------ | --------- | ------- | ---
`account`          |           | string  | Specifies the Teradata Database account. Equivalent to the Teradata JDBC Driver `ACCOUNT` connection parameter.
`column_name`      | `false`   | boolean | Controls the behavior of cursor `.description` sequence `name` items. Equivalent to the Teradata JDBC Driver `COLUMN_NAME` connection parameter. False specifies that a cursor `.description` sequence `name` item provides the AS-clause name if available, or the column name if available, or the column title. True specifies that a cursor `.description` sequence `name` item provides the column name if available, but has no effect when StatementInfo parcel support is unavailable.
`cop`              | `true`    | boolean | Specifies whether COP Discovery is performed. Equivalent to the Teradata JDBC Driver `COP` connection parameter.
`coplast`          | `false`   | boolean | Specifies how COP Discovery determines the last COP hostname. Equivalent to the Teradata JDBC Driver `COPLAST` connection parameter. When `coplast` is `false` or omitted, or COP Discovery is turned off, then no DNS lookup occurs for the coplast hostname. When `coplast` is `true`, and COP Discovery is turned on, then a DNS lookup occurs for a coplast hostname.
`database`         |           | string  | Specifies the initial database to use after logon, instead of the user's default database. Equivalent to the Teradata JDBC Driver `DATABASE` connection parameter.
`dbs_port`         | `1025`    | integer | Specifies Teradata Database port number. Equivalent to the Teradata JDBC Driver `DBS_PORT` connection parameter.
`encryptdata`      | `false`   | boolean | Controls encryption of data exchanged between the Teradata Database and the Teradata SQL Driver for Python. Equivalent to the Teradata JDBC Driver `ENCRYPTDATA` connection parameter.
`fake_result_sets` | `false`   | boolean | Controls whether a fake result set containing statement metadata precedes each real result set.
`lob_support`      | `true`    | boolean | Controls LOB support. Equivalent to the Teradata JDBC Driver `LOB_SUPPORT` connection parameter.
`log`              | `0`       | integer | Controls debug logging. Somewhat equivalent to the Teradata JDBC Driver `LOG` connection parameter. This parameter's behavior is subject to change in the future. This parameter's value is currently defined as an integer in which the 1-bit governs function and method tracing, the 2-bit governs debug logging, the 4-bit governs transmit and receive message hex dumps, and the 8-bit governs timing. Compose the value by adding together 1, 2, 4, and/or 8.
`logdata`          |           | string  | Specifies extra data for the chosen logon authentication method. Equivalent to the Teradata JDBC Driver `LOGDATA` connection parameter.
`logmech`          | `TD2`     | string  | Specifies the logon authentication method. Equivalent to the Teradata JDBC Driver `LOGMECH` connection parameter. Possible values are `TD2` (the default), `JWT`, `LDAP`, `KRB5` for Kerberos, or `TDNEGO`.
`max_message_body` | `2097000` | integer | Not fully implemented yet and intended for future usage. Equivalent to the Teradata JDBC Driver `MAX_MESSAGE_BODY` connection parameter.
`partition`        | `DBC/SQL` | string  | Specifies the Teradata Database Partition. Equivalent to the Teradata JDBC Driver `PARTITION` connection parameter.
`password`         |           | string  | Specifies the Teradata Database password. Equivalent to the Teradata JDBC Driver `PASSWORD` connection parameter.
`sip_support`      | `true`    | boolean | Controls whether StatementInfo parcel is used. Equivalent to the Teradata JDBC Driver `SIP_SUPPORT` connection parameter.
`teradata_values`  | `true`    | boolean | Controls whether `str` or a more specific Python data type is used for certain result set column value types.
`tmode`            | `DEFAULT` | string  | Specifies the transaction mode. Equivalent to the Teradata JDBC Driver `TMODE` connection parameter. Possible values are `DEFAULT` (the default), `ANSI`, or `TERA`.
`user`             |           | string  | Specifies the Teradata Database username. Equivalent to the Teradata JDBC Driver `USER` connection parameter.



            

Raw data

            {
    "_id": null,
    "home_page": "http://www.teradata.com/",
    "name": "teradatasqlalchemy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.4",
    "maintainer_email": null,
    "keywords": "Teradata",
    "author": "Teradata Corporation",
    "author_email": "teradatasql@teradata.com",
    "download_url": null,
    "platform": "Windows",
    "description": "## Teradata SQL Driver Dialect for SQLAlchemy\n\nThis package enables [SQLAlchemy](https://pypi.org/project/SQLAlchemy/) to connect to the Teradata Database.\n\nThis package requires 64-bit Python 3.4 or later, and runs on Windows, macOS, and Linux. 32-bit Python is not supported.\n\nFor community support, please visit the [Teradata Community forums](https://community.teradata.com/).\n\nFor Teradata customer support, please visit [Teradata Access](https://access.teradata.com/).\n\nCopyright 2024 Teradata. All Rights Reserved.\n\n### Table of Contents\n\n* [Release Notes](#release-notes)\n* [Installation](#Installation)\n* [License](#License)\n* [Documentation](#Documentation)\n* [Using the Teradata SQL Driver Dialect for SQLAlchemy](#Using)\n* [Connection Parameters](#ConnectionParameters)\n\n## Release Notes:\n\n### teradatasqlalchemy 20.0.0.3\n- Implemented `visit column()` method to add `table name` or `alias name` while generating string representation of `SQL expression`. \n- Implemented `visit_function()` method to add `table name` or `alias name` while generating string representation of `Function expression`.\n\n### teradatasqlalchemy 20.0.0.2\n- Updated queryband utility to be used by multiple python packages in multilevel hierarchy of imports.\n- `has_table()` now checks for existence of **views** as well by default. When new keyword argument `table_only` is set to `True`, `has_table()` will exclusively check for existence of tables only.\n\n### teradatasqlalchemy 20.0.0.1\n- Minor bug fix for inline help.\n\n### teradatasqlalchemy 20.0.0.0\n- Added a utility to enable querybands for function calls in python packages. Any python client package can import queryband package and can configure its name and version to track the vantage usage with help of logs available with DBQlogTbl.\n\n### teradatasqlalchemy 17.20.0.0\n- Added support for SQLAlchemy >= 2.0\n- `div` operator is no more supported.\n\n### teradatasqlalchemy 17.0.0.5\n- Added xviews support for below APIs.:\n  - `get_columns`\n  - `get_foreign_keys`\n  - `get_pk_constraint`\n  - `get_schema_names`\n  - `get_transaction_mode`\n  - `get_unique_constraints`\n\n### teradatasqlalchemy 17.0.0.4\n- Added ART Table support for `get_columns` API.\n\n### teradatasqlalchemy 17.0.0.3\n- Resolved a minor bug.\n\n### teradatasqlalchemy 17.0.0.2\n- Added support for below Teradata's datatypes:\n  - JSON\n  - XML\n  - TDUDT  \n  - GEOMETRY\n  - MBR\n  - MBB\n- Optimised below APIs\n  - has_table\n  - has_view\n  - get_table_names\n  - get_view_names\n- Minor bug fixes.\n\n\n<a name=\"Installation\"></a>\n\n### Installation\n\nUse pip to install the Teradata SQL Driver Dialect for SQLAlchemy.\n\nPlatform       | Command\n-------------- | ---\nmacOS or Linux | `pip install teradatasqlalchemy`\nWindows        | `py -3 -m pip install teradatasqlalchemy`\n\nWhen upgrading to a new version of the Teradata SQL Driver Dialect for SQLAlchemy, you may need to use pip install's `--no-cache-dir` option to force the download of the new version.\n\nPlatform       | Command\n-------------- | ---\nmacOS or Linux | `pip install --no-cache-dir -U teradatasqlalchemy`\nWindows        | `py -3 -m pip install --no-cache-dir -U teradatasqlalchemy`\n\n<a name=\"License\"></a>\n\n### License\n\nUse of the Teradata SQL Driver Dialect for SQLAlchemy is governed by the *License Agreement for the Teradata SQL Driver Dialect for SQLAlchemy*.\n\nWhen the Teradata SQL Driver Dialect for SQLAlchemy is installed, the `LICENSE` file is placed in the `teradatasqlalchemy` directory under your Python installation directory.\n\n<a name=\"Documentation\"></a>\n\n### Documentation\n\nWhen the Teradata SQL Driver Dialect for SQLAlchemy is installed, the `README.md` file is placed in the `teradatasqlalchemy` directory under your Python installation directory. This permits you to view the documentation offline, when you are not connected to the Internet.\n\nThe `README.md` file is a plain text file containing the documentation for the Teradata SQL Driver Dialect for SQLAlchemy. While the file can be viewed with any text file viewer or editor, your viewing experience will be best with an editor that understands Markdown format.\n\n<a name=\"Using\"></a>\n\n### Using the Teradata SQL Driver Dialect for SQLAlchemy\n\nYour Python script must import the `sqlalchemy` package in order to use the Teradata SQL Driver Dialect for SQLAlchemy.\n\n    import sqlalchemy\n\nAfter importing the `sqlalchemy` package, your Python script calls the `sqlalchemy.create_engine` function to open a connection to the Teradata Database.\n\nSpecify the Teradata Database hostname as the *host* component of the URL. Note that COP Discovery is not implemented yet.\n\nThe URL's *host* component may optionally be followed by a slash and question mark `/?` and the URL's *query* component consisting of connection parameters specified as *key*`=`*value* pairs separated by ampersand `&` characters.\n\nThe username and password may be specified as a *host* prefix, or as connection URL parameters.\n\nUsername and password specified as a *host* prefix:\n\n    eng = sqlalchemy.create_engine('teradatasql://guest:please@whomooz')\n\nUsername and password specified as connection URL parameters:\n\n    eng = sqlalchemy.create_engine('teradatasql://whomooz/?user=guest&password=please')\n\nUsername and password specified as connection URL parameters take precedence over a *host* prefix, if both are specified.\n\n<a name=\"ConnectionParameters\"></a>\n\n### Connection Parameters\n\nThe following table lists the connection parameters currently offered by the Teradata SQL Driver Dialect for SQLAlchemy.\n\nOur goal is consistency for the connection parameters offered by the Teradata SQL Driver Dialect for SQLAlchemy and the Teradata JDBC Driver, with respect to connection parameter names and functionality. For comparison, Teradata JDBC Driver connection parameters are [documented here](http://developer.teradata.com/doc/connectivity/jdbc/reference/current/jdbcug_chapter_2.html#BGBHDDGB).\n\nParameter          | Default   | Type    | Description\n------------------ | --------- | ------- | ---\n`account`          |           | string  | Specifies the Teradata Database account. Equivalent to the Teradata JDBC Driver `ACCOUNT` connection parameter.\n`column_name`      | `false`   | boolean | Controls the behavior of cursor `.description` sequence `name` items. Equivalent to the Teradata JDBC Driver `COLUMN_NAME` connection parameter. False specifies that a cursor `.description` sequence `name` item provides the AS-clause name if available, or the column name if available, or the column title. True specifies that a cursor `.description` sequence `name` item provides the column name if available, but has no effect when StatementInfo parcel support is unavailable.\n`cop`              | `true`    | boolean | Specifies whether COP Discovery is performed. Equivalent to the Teradata JDBC Driver `COP` connection parameter.\n`coplast`          | `false`   | boolean | Specifies how COP Discovery determines the last COP hostname. Equivalent to the Teradata JDBC Driver `COPLAST` connection parameter. When `coplast` is `false` or omitted, or COP Discovery is turned off, then no DNS lookup occurs for the coplast hostname. When `coplast` is `true`, and COP Discovery is turned on, then a DNS lookup occurs for a coplast hostname.\n`database`         |           | string  | Specifies the initial database to use after logon, instead of the user's default database. Equivalent to the Teradata JDBC Driver `DATABASE` connection parameter.\n`dbs_port`         | `1025`    | integer | Specifies Teradata Database port number. Equivalent to the Teradata JDBC Driver `DBS_PORT` connection parameter.\n`encryptdata`      | `false`   | boolean | Controls encryption of data exchanged between the Teradata Database and the Teradata SQL Driver for Python. Equivalent to the Teradata JDBC Driver `ENCRYPTDATA` connection parameter.\n`fake_result_sets` | `false`   | boolean | Controls whether a fake result set containing statement metadata precedes each real result set.\n`lob_support`      | `true`    | boolean | Controls LOB support. Equivalent to the Teradata JDBC Driver `LOB_SUPPORT` connection parameter.\n`log`              | `0`       | integer | Controls debug logging. Somewhat equivalent to the Teradata JDBC Driver `LOG` connection parameter. This parameter's behavior is subject to change in the future. This parameter's value is currently defined as an integer in which the 1-bit governs function and method tracing, the 2-bit governs debug logging, the 4-bit governs transmit and receive message hex dumps, and the 8-bit governs timing. Compose the value by adding together 1, 2, 4, and/or 8.\n`logdata`          |           | string  | Specifies extra data for the chosen logon authentication method. Equivalent to the Teradata JDBC Driver `LOGDATA` connection parameter.\n`logmech`          | `TD2`     | string  | Specifies the logon authentication method. Equivalent to the Teradata JDBC Driver `LOGMECH` connection parameter. Possible values are `TD2` (the default), `JWT`, `LDAP`, `KRB5` for Kerberos, or `TDNEGO`.\n`max_message_body` | `2097000` | integer | Not fully implemented yet and intended for future usage. Equivalent to the Teradata JDBC Driver `MAX_MESSAGE_BODY` connection parameter.\n`partition`        | `DBC/SQL` | string  | Specifies the Teradata Database Partition. Equivalent to the Teradata JDBC Driver `PARTITION` connection parameter.\n`password`         |           | string  | Specifies the Teradata Database password. Equivalent to the Teradata JDBC Driver `PASSWORD` connection parameter.\n`sip_support`      | `true`    | boolean | Controls whether StatementInfo parcel is used. Equivalent to the Teradata JDBC Driver `SIP_SUPPORT` connection parameter.\n`teradata_values`  | `true`    | boolean | Controls whether `str` or a more specific Python data type is used for certain result set column value types.\n`tmode`            | `DEFAULT` | string  | Specifies the transaction mode. Equivalent to the Teradata JDBC Driver `TMODE` connection parameter. Possible values are `DEFAULT` (the default), `ANSI`, or `TERA`.\n`user`             |           | string  | Specifies the Teradata Database username. Equivalent to the Teradata JDBC Driver `USER` connection parameter.\n\n\n",
    "bugtrack_url": null,
    "license": "Teradata License Agreement",
    "summary": "Teradata SQL Driver Dialect for SQLAlchemy",
    "version": "20.0.0.3",
    "project_urls": {
        "Homepage": "http://www.teradata.com/"
    },
    "split_keywords": [
        "teradata"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "076cb1c217f6679e1edf20277eb1bd292e602923cb1bcccd2ab63d1c7e945b0f",
                "md5": "e858c9f79b2691310a3eda3dda6495e8",
                "sha256": "5ffbe9a98eaea6fb664a44c2344e1df8ab2f737d24bcfc75fa49165d21e85777"
            },
            "downloads": -1,
            "filename": "teradatasqlalchemy-20.0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e858c9f79b2691310a3eda3dda6495e8",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.4",
            "size": 61639,
            "upload_time": "2024-10-30T08:15:27",
            "upload_time_iso_8601": "2024-10-30T08:15:27.823280Z",
            "url": "https://files.pythonhosted.org/packages/07/6c/b1c217f6679e1edf20277eb1bd292e602923cb1bcccd2ab63d1c7e945b0f/teradatasqlalchemy-20.0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-30 08:15:27",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "teradatasqlalchemy"
}
        
Elapsed time: 2.02756s