asbestos 1.5.1

Last updated:

0 purchases

asbestos 1.5.1 Image
asbestos 1.5.1 Images
Add to Cart

Description:

asbestos 1.5.1

asbestos
An easy way to mock Snowflake connections in Python!
What is this?
asbestos is a library for Python 3.9+ to allow easy mocking of Snowflake calls during local development or testing to save on costs and time. The docs have more information, but here's a quick example:
from asbestos import asbestos_cursor, config as asbestos_config


def snowflake_cursor() -> SnowflakeCursor | AsbestosCursor:
# Use a flag to decide whether it returns the test cursor
# or the real thing
if settings.ENABLE_ASBESTOS:
return asbestos_cursor()
return snowflake_connection().cursor(DictCursor)


asbestos_config.register(
query="your sql goes %s",
data=("here",),
response={"It's a": "response!"}
)

with snowflake_cursor() as cursor:
cursor.execute("your sql goes %s", ('here',))
assert cursor.fetchall() == {"It's a": "response!"}

asbestos is not a 1:1 mocking of the full Snowflake API, but includes synchronous and async query mocking that handle most use cases. Check out some fun things you can do with it here!
Installation:
poetry add asbestos

Docs
Check out the documentation here!
To work on the docs locally, ensure that your python3 version is up-to-date (pyenv is a great way of managing this) and run make docs. This will create a dedicated documentation environment and serve the docs locally for testing. To remove the environment, run make docs_clean.
Development
asbestos uses pre-commit to help us keep the repo clean. To get started, make sure you have poetry installed and follow these steps:

clone the respository:

git clone [email protected]:SpotOnInc/asbestos.git (preferred)
OR git clone https://github.com/SpotOnInc/asbestos


poetry install
poetry shell
pre-commit install

After that, you're ready to go!

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.