Skip to main content

What is Snowflakecli?

Snowflakecli is a DuckDB-powered command line interface for Snowflake security, governance, operations, and cost optimization.

Snowflakecli is not endorsed or sponsored by Snowflake in any manner. It is vendor-neutral and entirely dedicated to the mission of making your cloud data warehouse safer and more cost efficient.

snowflakecli

Installation

$ pip install snowflakecli

Who is Snowflakecli for?

Snowflakecli is built for:

  • Security threat-hunting teams still dealing with the fallout of the UNC5537 breach.
  • Data and Ops teams looking to proactively improve and continuously monitor their security posture.
  • Operations teams looking to optimize their virtual warehouses and workloads.
  • Data engineers looking to grasp the complexities of their Snowflake account.

What does Snowflakecli do?

Snowflakecli includes:

  • Key-Pair utilities so you can establish and maintain secure access to your Snowflake account.
  • Customizable security threat hunting, with the UNC5537 threat hunt being the default.
  • Customizable security and auditing benchmarks, with well-known industry standards being the default.
  • CLI-based SQL execution
  • Simplified SQL migration management - think a lightweight, Python-based Flyway
  • Configuration management
  • Connection management

Snowflakecli is quickly growing to include:

  • Data loading and unloading tools
  • Account snapshotting and state diff-ing
  • Declarative, idempotent resource management with fewer dangerous surprises
  • ACL exploration - "Can user X access Y? How?"
  • Virtual warehouse utilization and workload optimization tools
  • Tiered compute so local queries don't have to use a virtual warehouse to do local analytics
  • AI-powered PII governance
  • AI-powered account recommendations

Why are we building it?

We first adopted Snowflake in 2017 and it was absolutely game-changing. The separation of compute and storage allowed our data teams to quickly implement analytical systems that would have taken months (or years) to roll out.

But a series of common patterns have since emerged across industry:

Snowflake accounts often fail to implement best-in-class security and data security practices...

Which has lead to unfortunate situations like UNC5537.

Snowflake usage and activity often goes unaudited...

Which leads to a lack of insight into what is actually happening to organizations' data resources.

Snowflake accounts often have runaway costs...

Which means either a dedicated hire (who quickly pays for themselves) or onboarding third-party software like Select or Keebo.

Why are we the right people to build it?

We have:

..while helping many companies along the way.

Documentation

Full documentation will be published shortly so stay tuned.

In the meantime, snowflakecli is entirely self-documenting thanks to great tools like Typer and Rich.

Q&A

Can I contribute?

Please do.

We are readily accepting new contributions and understand the power of collective, collaborative knowledge. If you have thoughts, ideas, suggestions, or innovative use cases please create an issue and let's start the conversation. Or just pull a PR 😀. Or find one of us on LinkedIn 😀.

Is it secure?

Yes. The codebase is entirely open, MIT-licensed, and built with best-in-class Python tooling.

Unlike other command line tools which promote insecure practices such as username and password-based authentication without MFA, Snowflakecli explicitly mandates key-pair authentication.

Can it be used to keep my Snowflake account more secure?

Yes.

Data security has never been more important and Snowflakecli was explicitly built to help Snowflake customers enhance the security of their accounts.

Many Snowflake accounts have been set up quickly with less-than-ideal configuration. As these accounts grow they usually store increasingly-sensitive information and become targets for malicious activity.

Snowflakecli helps automate the process of establishing and maintaining secure accounts.

License

MIT

Metadata

Release files for snowflakecli 0.4.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for snowflakecli 0.4.4
File Size Uploaded
snowflakecli-0.4.4.tar.gz 23.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for snowflakecli 0.4.4
File Interpreter ABI Platform
snowflakecli-0.4.4-py3-none-any.whl Python 3 none any Details

Total release size: 53.8 kB

Release files / snowflakecli-0.4.4.tar.gz

Download URL snowflakecli-0.4.4.tar.gz
Size 23.6 kB
Tags Source
SHA-256 checksum
How to use checksums
29b6cc368ce3f699bad89ff83224cf9d86e052e37fcd100cb46a878219db7726
BLAKE2b-256 checksum
How to use checksums
33de84b2e67350705a1439de4fda617e3775c81847a18cf359362715f78c145c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.13.2 CPython/3.12.4 Darwin/22.3.0

Release files / snowflakecli-0.4.4-py3-none-any.whl

Download URL snowflakecli-0.4.4-py3-none-any.whl
Size 30.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6d61f2d2a83d9bd81cdf00c5ccb63e57fceec3970468867b8d122b45adcc60fb
BLAKE2b-256 checksum
How to use checksums
b8de26bd6348ff09c0d930f42e1c80cd70c2634c4247110f7c80f7cd29414405
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.13.2 CPython/3.12.4 Darwin/22.3.0

Release history Release notifications | RSS feed

This release

0.4.4 This release

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.23

2 release files

0.3.22

2 release files

0.3.21

2 release files

0.3.20

2 release files

0.3.19

2 release files

0.3.18

2 release files

0.3.17

2 release files

0.3.16

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page