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.23
: Add initial simple scheduler to periodically run tasks; add initial support for cross-DB resource sharing; convertpublic
schema 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 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
File details
Details for the file localstack-extension-snowflake-0.1.23.tar.gz
.
File metadata
- Download URL: localstack-extension-snowflake-0.1.23.tar.gz
- Upload date:
- Size: 48.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfc4e942bff239de2fe37f71135aaa3bc901e1f9eaca195da61d16e722380aa3 |
|
MD5 | 4ffb82303d07113509aba46664bff3fb |
|
BLAKE2b-256 | 1131ef95df1a0394d9f4d089856226c065e7fd73a5af1be630a8b26a743ca1df |