Package: localstack-extension-snowflake
LocalStack Snowflake ExtensionThis LocalStack extension provides basic emulation of theSnowflakeAPI.⚠️ Please note that this extension is experimental and still under development.PrerequisitesLocalStack ProDockerPythonInstallationBefore installing the extension, make sure you're logged into LocalStack. If not, log in using the following command:localstackloginYou can then install this extension using the following command:localstackextensionsinstalllocalstack-extension-snowflakeUsageOnce the extension is installed, configure your Snowflake client connector to point to the API endpointhttps://snowflake.localhost.localstack.cloud. For example, when using theSnowflake Python connector:client = snowflake.connector.connect(
    user="test",
    password="test",
    account="test",
    host="snowflake.localhost.localstack.cloud",
)
client.cursor().execute("...")Change Log0.1.23: Add initial simple scheduler to periodically run tasks; add initial support for cross-DB resource sharing; convertpublicschema to lower-case for information_schema queries0.1.22: Fix query transforms for ADD COLUMN queries; fix wrapping of VALUES subquery in braces for MERGE queries; add initial CRUD support for TASKs; support DROP PRIMARY KEY queries; migrate use of localstack.http to rolo0.1.21: Add support for consuming table stream records via DML statements0.1.20: Initial simple support for table streams; add support forSHOW DATABASES,SHOW VIEWS; enhance parity for Arrow results of TIMESTAMP_NTZ values; more refactoring into QueryProcessor classes; fix identifier uppercasing forALTER TABLEqueries; fix extraction of DB name fromCREATE SCHEMAqueries0.1.19: Return SELECT results in arrow format for pandas compatibility; add add_months function; fix UDFs with raw expressions; upgrade to Postgres v15; distinguish internal/external VARIANTs; print query processors in CI logs; enable lazy installation of plv8 extension; enhance parity around CREATE VIEW queries; extend analytics; return row_count for UPDATE queries; add statementTypeId0.1.18: Add support for various array and aggregation functions; enhance FILE FORMAT operations; fix CTAS (Create Table AS) queries; supportINFER_SCHEMA(..)for getting schema from parquet files; better handling of upper/lowercase identifiers0.1.17: Support creation/deletion of stages; addIS_ARRAYfunction; remove DuckDB based DB engine; refactor codebase to useQueryProcessorinterface; enhance proper handling of column names for table aliases0.1.16: Add support forSHOW PROCEDURESandSHOW IMPORTED KEYS; add basic support for session parameters0.1.15: Fix result type conversation forGET_PATH(..)util function0.1.14: Enhance parity aroundSHOW TABLES/OBJECTS/COLUMNSqueries; add more array util functions; fix STRING_AGG for different DISTINCT/GROUP combinations0.1.13: Support someCURRENT_*functions; enhanceLISTAGGfor distinct values; add test for JS UDFs with exports0.1.12: Cast params for string_agg/listagg; more parity fixes for upper/lowercase names0.1.11: Enhance parity for array aggregation functions; enhance parity around subqueries and timestamp timezones; add logic to keep track of case-sensitive db/table identifiers0.1.10: Add query transforms forCLUSTER BY; addSF_S3_ENDPOINTconfig; more parity fixes0.1.9: Add support for Python UDFs; enhance parity aroundCREATE OR REPLACE FUNCTIONqueries; add analytics setup0.1.8: Add SF_LOG config to enable request/response trace logging0.1.7: Add initial support for Snowflake JavaScript UDFs; enhance parity around responses for DB/table creation; enhancements for Snowflake streaming logic0.1.6: Introduce session state to retain DB/schema across queries; support async queries andresult_scan(..)0.1.5: Enhance parity aroundDESCRIBE TABLEresults; supportMIN_BY/MAX_BYaggregate functions0.1.4: Add logic to parse and replace DB references in queries0.1.3: Add DBEngine abstraction, experimental support for duckdb; enhance support for JSON queries0.1.2: Add logic to ingest a CSV file from a Snowflake stage into a table0.1.1: Initial support for Kafka connector and snowpipe/streaming APIs0.1.0: Initial release of the extensionLicense(c) 2023 LocalStack