snowflake-sqlalchemy-2


Namesnowflake-sqlalchemy-2 JSON
Version 0.1.6 PyPI version JSON
download
home_pagehttps://www.snowflake.com/
SummarySnowflake SQLAlchemy Dialect (including patches for SQLAlchemy 2 support)
upload_time2023-12-04 16:44:13
maintainer
docs_urlNone
authorEdwin Onuonga
requires_python>=3.7
licenseApache-2.0
keywords snowflake db database cloud analytics warehouse
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            This package includes the Snowflake SQLAlchemy, which supports Snowsql dialects for SQLAlchemy
<http://www.sqlalchemy.org/>

Snowflake Documentation is available at:
<https://docs.snowflake.net/>

Source code is also available at:
<https://github.com/snowflakedb/snowflake-sqlalchemy>

# Release Notes

- v1.4.8(TBD)

  - Added option to create a temporary stage command.
  - Fixed a compatibility issue of regex expression with SQLAlchemy 1.4.49.

- v1.4.7(Mar 22, 2023)

  - Re-applied the application name of driver connection `SnowflakeConnection` to `SnowflakeSQLAlchemy`.
  - `SnowflakeDialect.get_columns` now throws a `NoSuchTableError` exception when the specified table doesn't exist, instead of the more vague `KeyError`.
  - Fixed a bug that dialect can not be created with empty host name.
  - Fixed a bug that `sqlalchemy.func.now` is not rendered correctly.

- v1.4.6(Feb 8, 2023)

  - Bumped snowflake-connector-python dependency to newest version which supports Python 3.11.
  - Reverted the change of application name introduced in v1.4.5 until support gets added.

- v1.4.5(Dec 7, 2022)

  - Updated the application name of driver connection `SnowflakeConnection` to `SnowflakeSQLAlchemy`.

- v1.4.4(Nov 16, 2022)

  - Fixed a bug that percent signs in a non-compiled statement should not be interpolated with emtpy sequence when executed.

- v1.4.3(Oct 17, 2022)

  - Fixed a bug that `SnowflakeDialect.normalize_name` and `SnowflakeDialect.denormalize_name` could not handle empty string.
  - Fixed a compatibility issue to vendor function `sqlalchemy.engine.url._rfc_1738_quote` as it is removed from SQLAlchemy v1.4.42.

- v1.4.2(Sep 19, 2022)

  - Improved performance by standardizing string interpolations to f-strings.
  - Improved reliability by always using context managers.

- v1.4.1(Aug 18, 2022)

  - snowflake-sqlalchemy is now SQLAlchemy 2.0 compatible.
  - Fixed a bug that `DATE` should not be removed from `SnowflakeDialect.ischema_names`.
  - Fixed breaking changes introduced in release 1.4.0 that:
    - changed the behavior of processing numeric, datetime and timestamp values returned from service.
    - changed the sequence order of primary/foreign keys in list returned by `inspect.get_foreign_keys` and `inspect.get_pk_constraint`.

- v1.4.0(July 20, 2022)

  - Added support for `regexp_match`, `regexp_replace` in `sqlalchemy.sql.expression.ColumnOperators`.
  - Added support for Identity Column.
  - Added support for handling literals value of sql type `Date`, `DateTime`, `Time`, `Float` and `Numeric`, and converting the values into corresponding Python objects.
  - Added support for `get_sequence_names` in `SnowflakeDialect`.
  - Fixed a bug where insert with autoincrement failed due to incompatible column type affinity #124.
  - Fixed a bug when creating a column with sequence, default value was set incorrectly.
  - Fixed a bug that identifier having percents in a compiled statement was not interpolated.
  - Fixed a bug when visiting sequence value from another schema, the sequence name is not formatted with the schema name.
  - Fixed a bug where the sequence order of columns were not maintained when retrieving primary keys and foreign keys for a table.

- v1.3.4(April 27,2022)

  - Fixed a bug where identifier max length was set to the wrong value and added relevant schema introspection
  - Add support for geography type
  - Fixed a bug where foreign key's referred schema was set incorrectly
  - Disabled new SQLAlchemy option for statement caching until support gets added

- v1.3.3(December 19,2021)

  - Fixed an issue where quote arguments were stripped from identifiers.

- v1.3.2 (September 14,2021)

  - Fixed a breaking change introduced in SQLAlchemy 1.4 that changed the behavior of returns_unicode_strings.

- v1.3.1 (July 23,2021)

  - Raising minimum version of SQLAlchemy to match used features.

- v1.2.5 (July 20,2021)

  - Various custom command bug fixes and additions.

- v1.2.4 (October 05,2020)

  - Fixed an issue where inspector would not properly switch to table wide column retrieving when schema wide column retrieving was taking too long to respond.

- v1.2.3 (March 30, 2020)

  - Update tox.ini
  - Add external stage to COPY INTO custom command.
  - Bumped pandas to newest versions

- v1.2.2 (March 9, 2020)

  - Allow get_table_comment to fetch view comments too

- v1.2.1 (February 18,2020)

  - Add driver property to SnowflakeDialect #140
  - Suppress deprecation warning by fixing import

- v1.2.0 (January 27, 2020)

  - Fix typo in README Connection Parameters #141
  - Fix sqlalchemy and possibly python-connector warnings
  - Fix handling of empty table comments #137
  - Fix handling spaces in connection string passwords #149

- v1.1.18 (January 6,2020)

  - Set current schema in connection string containing special characters
  - Calling str on custom_types throws Exception

- v1.1.17 (December 2,2019)

  - Comments not created when creating new table #118
  - SQLAlchemy Column Metadata Cache not working
  - Timestamp DDL renders wrong when precision value passed
  - Fixed special character handling in snowflake-sqlalchemy from URL string
  - Added development optional dependencies to Python packages

- v1.1.16 (October 21,2019)

  - Fix SQLAlchemy not working with global url

- v1.1.15 (September 30, 2019)

  - Incorrect SQL generated for INSERT with CTE
  - Type Synonyms not exported to top-level module #109

- v1.1.14 (August 12, 2019)

  - Fix CSVFormatter class has `FIELD_DELIMETER` spelled incorrectly

- v1.1.13 (May 20,2019)

  - CopyInto's maxfilesize method expects a bool instead of an int
  - CopyInto statement doesn't compile correctly when the source is storage and the destination is a table

- v1.1.12 (April 8,2019)

  - Add ability to inspect column comments
  - Restricting index creation checking to only SnowflakeDialect tables

- v1.1.11 (March 25, 2019)

  - Remove relative reference to connector from SQLAlchemy dialect

- v1.1.10 (February 22, 2019)

  - Separated base.py file into smaller files and fixed import statements
  - Prevent creating tables with indexes in SQLAlchemy
  - Add tox support

- v1.1.9 (February 11, 2019)

  - Fix an issue in v1.1.8

- v1.1.8 (February 8, 2019)

  - Fixed a dependency

- v1.1.7 (February 8, 2019)

  - Added Upsert in sql-alchemy
  - CopyIntoS3 command in SQLAlchemy

- v1.1.6 (January 3, 2019)

  - Fixed 'module' object is not callable in csvsql

- v1.1.5 (December 19, 2018)

  - Added multivalue_support feature flag
  - Deprecate get_primary_keys

- v1.1.4 (November 13, 2018)

  - Fixed lable/alias by honoring quote_name.

- v1.1.3 (October 30, 2018)

  - SQLAlchemy 1.2 multi table support.
  - TIMESTAMP_LTZ, TIMESTAMP_NTZ and TIMESTAMP_TZ support.
  - Fixed relative import issue in SQLAlchemy

- v1.1.2 (June 7, 2018)

  - Removes username restriction for OAuth

- v1.1.1 (May 17, 2018)

  - Made password as optional parameter for SSO support
  - Fixed paramstyl=qmark mode where the data are bound in the server instead of client side
  - Fixed multipart schema support. Now db.schema can be specified in the schema parameters.
  - Added ``region`` parameter support to ``URL`` utility method.

- v1.1.0 (February 1, 2018)

  - Updated doc including ``role`` example.
  - Fixed the return value of ``get_pk_constraint`` and ``get_primary_keys``. Those applications that depend on the old behaviors must update codes. Issue #38 (@nrth)
  - Updated doc including a note about ``open`` and ``close`` connections.

- v1.0.9 (January 4, 2018)

  - Fixed foreign key names that should be normalized. Issue #24 (@cladden)
  - Set the default schema Issue #25 (@cladden)
  - Improved performance by caching current database and schema for inspector. Issue #30 (@cladden)

- v1.0.8 (December 21, 2017)

  - Added ``get_schema_names`` method to Snowflake SQLAlchemy dialect. PR #20(andrewsali)
  - Fixed the column metadata including length for string/varchar and precision and scale for numeric data type. Issue #22(@cladden)

- v1.0.7 (May 18, 2017)

  - Fixed COPY command transaction issue. PR #16(Pangstar) and Issue #17(Pangstar)

- v1.0.6 (April 20, 2017)

  - Fixed account with subdomain issue. Issue #15(Pangstar)

- v1.0.5 (April 13, 2017)

  - Added ``snowflake_clusterby`` option support to ``Table`` object so that the user can create a table with clustering keys

- v1.0.4 (March 9, 2017)

  - Added SQLAlchemy 1.1 support

- v1.0.3 (October 20, 2016)

  - Added ``VARIANT``, ``OBJECT`` and ``ARRAY`` data type supports for fetch

- v1.0.2 (July 5, 2016)

  - Fixed the development status in classifiers. 5 - Production/Stable

- v1.0.1 (July 4, 2016)

  - Fixed URL method in case of including warehouse without database.

- v1.0.0 (June 28, 2016)

  - General Availability

            

Raw data

            {
    "_id": null,
    "home_page": "https://www.snowflake.com/",
    "name": "snowflake-sqlalchemy-2",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "Snowflake db database cloud analytics warehouse",
    "author": "Edwin Onuonga",
    "author_email": "edwinonuonga@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/fb/d5/bcf5d60337b1ea8bc5db8ee0ec6a255dd79e8bf814909945c9650d9b13a1/snowflake-sqlalchemy-2-0.1.6.tar.gz",
    "platform": null,
    "description": "This package includes the Snowflake SQLAlchemy, which supports Snowsql dialects for SQLAlchemy\n<http://www.sqlalchemy.org/>\n\nSnowflake Documentation is available at:\n<https://docs.snowflake.net/>\n\nSource code is also available at:\n<https://github.com/snowflakedb/snowflake-sqlalchemy>\n\n# Release Notes\n\n- v1.4.8(TBD)\n\n  - Added option to create a temporary stage command.\n  - Fixed a compatibility issue of regex expression with SQLAlchemy 1.4.49.\n\n- v1.4.7(Mar 22, 2023)\n\n  - Re-applied the application name of driver connection `SnowflakeConnection` to `SnowflakeSQLAlchemy`.\n  - `SnowflakeDialect.get_columns` now throws a `NoSuchTableError` exception when the specified table doesn't exist, instead of the more vague `KeyError`.\n  - Fixed a bug that dialect can not be created with empty host name.\n  - Fixed a bug that `sqlalchemy.func.now` is not rendered correctly.\n\n- v1.4.6(Feb 8, 2023)\n\n  - Bumped snowflake-connector-python dependency to newest version which supports Python 3.11.\n  - Reverted the change of application name introduced in v1.4.5 until support gets added.\n\n- v1.4.5(Dec 7, 2022)\n\n  - Updated the application name of driver connection `SnowflakeConnection` to `SnowflakeSQLAlchemy`.\n\n- v1.4.4(Nov 16, 2022)\n\n  - Fixed a bug that percent signs in a non-compiled statement should not be interpolated with emtpy sequence when executed.\n\n- v1.4.3(Oct 17, 2022)\n\n  - Fixed a bug that `SnowflakeDialect.normalize_name` and `SnowflakeDialect.denormalize_name` could not handle empty string.\n  - Fixed a compatibility issue to vendor function `sqlalchemy.engine.url._rfc_1738_quote` as it is removed from SQLAlchemy v1.4.42.\n\n- v1.4.2(Sep 19, 2022)\n\n  - Improved performance by standardizing string interpolations to f-strings.\n  - Improved reliability by always using context managers.\n\n- v1.4.1(Aug 18, 2022)\n\n  - snowflake-sqlalchemy is now SQLAlchemy 2.0 compatible.\n  - Fixed a bug that `DATE` should not be removed from `SnowflakeDialect.ischema_names`.\n  - Fixed breaking changes introduced in release 1.4.0 that:\n    - changed the behavior of processing numeric, datetime and timestamp values returned from service.\n    - changed the sequence order of primary/foreign keys in list returned by `inspect.get_foreign_keys` and `inspect.get_pk_constraint`.\n\n- v1.4.0(July 20, 2022)\n\n  - Added support for `regexp_match`, `regexp_replace` in `sqlalchemy.sql.expression.ColumnOperators`.\n  - Added support for Identity Column.\n  - Added support for handling literals value of sql type `Date`, `DateTime`, `Time`, `Float` and `Numeric`, and converting the values into corresponding Python objects.\n  - Added support for `get_sequence_names` in `SnowflakeDialect`.\n  - Fixed a bug where insert with autoincrement failed due to incompatible column type affinity #124.\n  - Fixed a bug when creating a column with sequence, default value was set incorrectly.\n  - Fixed a bug that identifier having percents in a compiled statement was not interpolated.\n  - Fixed a bug when visiting sequence value from another schema, the sequence name is not formatted with the schema name.\n  - Fixed a bug where the sequence order of columns were not maintained when retrieving primary keys and foreign keys for a table.\n\n- v1.3.4(April 27,2022)\n\n  - Fixed a bug where identifier max length was set to the wrong value and added relevant schema introspection\n  - Add support for geography type\n  - Fixed a bug where foreign key's referred schema was set incorrectly\n  - Disabled new SQLAlchemy option for statement caching until support gets added\n\n- v1.3.3(December 19,2021)\n\n  - Fixed an issue where quote arguments were stripped from identifiers.\n\n- v1.3.2 (September 14,2021)\n\n  - Fixed a breaking change introduced in SQLAlchemy 1.4 that changed the behavior of returns_unicode_strings.\n\n- v1.3.1 (July 23,2021)\n\n  - Raising minimum version of SQLAlchemy to match used features.\n\n- v1.2.5 (July 20,2021)\n\n  - Various custom command bug fixes and additions.\n\n- v1.2.4 (October 05,2020)\n\n  - Fixed an issue where inspector would not properly switch to table wide column retrieving when schema wide column retrieving was taking too long to respond.\n\n- v1.2.3 (March 30, 2020)\n\n  - Update tox.ini\n  - Add external stage to COPY INTO custom command.\n  - Bumped pandas to newest versions\n\n- v1.2.2 (March 9, 2020)\n\n  - Allow get_table_comment to fetch view comments too\n\n- v1.2.1 (February 18,2020)\n\n  - Add driver property to SnowflakeDialect #140\n  - Suppress deprecation warning by fixing import\n\n- v1.2.0 (January 27, 2020)\n\n  - Fix typo in README Connection Parameters #141\n  - Fix sqlalchemy and possibly python-connector warnings\n  - Fix handling of empty table comments #137\n  - Fix handling spaces in connection string passwords #149\n\n- v1.1.18 (January 6,2020)\n\n  - Set current schema in connection string containing special characters\n  - Calling str on custom_types throws Exception\n\n- v1.1.17 (December 2,2019)\n\n  - Comments not created when creating new table #118\n  - SQLAlchemy Column Metadata Cache not working\n  - Timestamp DDL renders wrong when precision value passed\n  - Fixed special character handling in snowflake-sqlalchemy from URL string\n  - Added development optional dependencies to Python packages\n\n- v1.1.16 (October 21,2019)\n\n  - Fix SQLAlchemy not working with global url\n\n- v1.1.15 (September 30, 2019)\n\n  - Incorrect SQL generated for INSERT with CTE\n  - Type Synonyms not exported to top-level module #109\n\n- v1.1.14 (August 12, 2019)\n\n  - Fix CSVFormatter class has `FIELD_DELIMETER` spelled incorrectly\n\n- v1.1.13 (May 20,2019)\n\n  - CopyInto's maxfilesize method expects a bool instead of an int\n  - CopyInto statement doesn't compile correctly when the source is storage and the destination is a table\n\n- v1.1.12 (April 8,2019)\n\n  - Add ability to inspect column comments\n  - Restricting index creation checking to only SnowflakeDialect tables\n\n- v1.1.11 (March 25, 2019)\n\n  - Remove relative reference to connector from SQLAlchemy dialect\n\n- v1.1.10 (February 22, 2019)\n\n  - Separated base.py file into smaller files and fixed import statements\n  - Prevent creating tables with indexes in SQLAlchemy\n  - Add tox support\n\n- v1.1.9 (February 11, 2019)\n\n  - Fix an issue in v1.1.8\n\n- v1.1.8 (February 8, 2019)\n\n  - Fixed a dependency\n\n- v1.1.7 (February 8, 2019)\n\n  - Added Upsert in sql-alchemy\n  - CopyIntoS3 command in SQLAlchemy\n\n- v1.1.6 (January 3, 2019)\n\n  - Fixed 'module' object is not callable in csvsql\n\n- v1.1.5 (December 19, 2018)\n\n  - Added multivalue_support feature flag\n  - Deprecate get_primary_keys\n\n- v1.1.4 (November 13, 2018)\n\n  - Fixed lable/alias by honoring quote_name.\n\n- v1.1.3 (October 30, 2018)\n\n  - SQLAlchemy 1.2 multi table support.\n  - TIMESTAMP_LTZ, TIMESTAMP_NTZ and TIMESTAMP_TZ support.\n  - Fixed relative import issue in SQLAlchemy\n\n- v1.1.2 (June 7, 2018)\n\n  - Removes username restriction for OAuth\n\n- v1.1.1 (May 17, 2018)\n\n  - Made password as optional parameter for SSO support\n  - Fixed paramstyl=qmark mode where the data are bound in the server instead of client side\n  - Fixed multipart schema support. Now db.schema can be specified in the schema parameters.\n  - Added ``region`` parameter support to ``URL`` utility method.\n\n- v1.1.0 (February 1, 2018)\n\n  - Updated doc including ``role`` example.\n  - Fixed the return value of ``get_pk_constraint`` and ``get_primary_keys``. Those applications that depend on the old behaviors must update codes. Issue #38 (@nrth)\n  - Updated doc including a note about ``open`` and ``close`` connections.\n\n- v1.0.9 (January 4, 2018)\n\n  - Fixed foreign key names that should be normalized. Issue #24 (@cladden)\n  - Set the default schema Issue #25 (@cladden)\n  - Improved performance by caching current database and schema for inspector. Issue #30 (@cladden)\n\n- v1.0.8 (December 21, 2017)\n\n  - Added ``get_schema_names`` method to Snowflake SQLAlchemy dialect. PR #20(andrewsali)\n  - Fixed the column metadata including length for string/varchar and precision and scale for numeric data type. Issue #22(@cladden)\n\n- v1.0.7 (May 18, 2017)\n\n  - Fixed COPY command transaction issue. PR #16(Pangstar) and Issue #17(Pangstar)\n\n- v1.0.6 (April 20, 2017)\n\n  - Fixed account with subdomain issue. Issue #15(Pangstar)\n\n- v1.0.5 (April 13, 2017)\n\n  - Added ``snowflake_clusterby`` option support to ``Table`` object so that the user can create a table with clustering keys\n\n- v1.0.4 (March 9, 2017)\n\n  - Added SQLAlchemy 1.1 support\n\n- v1.0.3 (October 20, 2016)\n\n  - Added ``VARIANT``, ``OBJECT`` and ``ARRAY`` data type supports for fetch\n\n- v1.0.2 (July 5, 2016)\n\n  - Fixed the development status in classifiers. 5 - Production/Stable\n\n- v1.0.1 (July 4, 2016)\n\n  - Fixed URL method in case of including warehouse without database.\n\n- v1.0.0 (June 28, 2016)\n\n  - General Availability\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Snowflake SQLAlchemy Dialect (including patches for SQLAlchemy 2 support)",
    "version": "0.1.6",
    "project_urls": {
        "Changelog": "https://github.com/snowflakedb/snowflake-sqlalchemy/blob/main/DESCRIPTION.md",
        "Documentation": "https://docs.snowflake.com/en/user-guide/sqlalchemy.html",
        "Homepage": "https://www.snowflake.com/",
        "Issues": "https://github.com/snowflakedb/snowflake-sqlalchemy/issues",
        "Source": "https://github.com/snowflakedb/snowflake-sqlalchemy"
    },
    "split_keywords": [
        "snowflake",
        "db",
        "database",
        "cloud",
        "analytics",
        "warehouse"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fbd5bcf5d60337b1ea8bc5db8ee0ec6a255dd79e8bf814909945c9650d9b13a1",
                "md5": "1bbe1ebb5d21cf79a25d184e1a195ca1",
                "sha256": "633b0248f3ae048224497c7c44fa7dc453435e348c4f4b61f5edb81859f73b7e"
            },
            "downloads": -1,
            "filename": "snowflake-sqlalchemy-2-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "1bbe1ebb5d21cf79a25d184e1a195ca1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 40256,
            "upload_time": "2023-12-04T16:44:13",
            "upload_time_iso_8601": "2023-12-04T16:44:13.540739Z",
            "url": "https://files.pythonhosted.org/packages/fb/d5/bcf5d60337b1ea8bc5db8ee0ec6a255dd79e8bf814909945c9650d9b13a1/snowflake-sqlalchemy-2-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-04 16:44:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "snowflakedb",
    "github_project": "snowflake-sqlalchemy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "snowflake-sqlalchemy-2"
}
        
Elapsed time: 3.96138s