Socket
Socket
Sign inDemoInstall

asbestos-snow

Package Overview
Dependencies
1
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

asbestos-snow

An easy way to mock Snowflake connections in Python!


Maintainers
1

Readme

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-snow

The installation name is slightly different from the usage name due to someone claiming the name with no releases on PyPI; with luck, we will be able to finish the name requisition process to be able to use asbestos soon. If you're interested, you can see how well that's going here.

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 git@github.com: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!

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc