LocalStack Extension: Snowflake
Project description
LocalStack Snowflake Extension
This LocalStack extension provides basic emulation of the Snowflake API.
⚠️ Please note that this extension is experimental and still under development.
Prerequisites
- LocalStack Pro
- Docker
- Python
Installation
Before installing the extension, make sure you're logged into LocalStack. If not, log in using the following command:
localstack login
You can then install this extension using the following command:
localstack extensions install localstack-extension-snowflake
Usage
Once the extension is installed, configure your Snowflake client connector to point to the API endpoint https://snowflake.localhost.localstack.cloud
. For example, when using the Snowflake Python connector:
client = snowflake.connector.connect(
user="test",
password="test",
account="test",
host="snowflake.localhost.localstack.cloud",
)
client.cursor().execute("...")
Change Log
0.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 TABLE
queries; fix extraction of DB name fromCREATE SCHEMA
queries0.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_ARRAY
function; remove DuckDB based DB engine; refactor codebase to useQueryProcessor
interface; enhance proper handling of column names for table aliases0.1.16
: Add support forSHOW PROCEDURES
andSHOW 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/COLUMNS
queries; add more array util functions; fix STRING_AGG for different DISTINCT/GROUP combinations0.1.13
: Support someCURRENT_*
functions; enhanceLISTAGG
for 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_ENDPOINT
config; more parity fixes0.1.9
: Add support for Python UDFs; enhance parity aroundCREATE OR REPLACE FUNCTION
queries; 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 TABLE
results; supportMIN_BY
/MAX_BY
aggregate 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 extension
License
(c) 2023 LocalStack
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for localstack-extension-snowflake-0.1.20.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31f4a46263562171e4843d9ad7d330a75b0db151b8d8379ef72c334130177aca |
|
MD5 | 92c1c1e9be92eedc22dccdcdf03d8028 |
|
BLAKE2b-256 | 3ce47bd04e555468b8359c0ac8575be518276c06f1c3f3535cea7b1c54558fc0 |