Snowcap - Snowflake infrastructure-as-code. Provision Snowflake resources, Manage RBAC, users, roles, and grants.
翻譯準備中
正在載入完整 README。
檢視完整 README ↗snowcap - Snowflake infrastructure as codeSnowcap helps you provision, deploy, and secure resources in Snowflake. Datacoves takes it further: a managed DataOps platform for dbt and Airflow where governance and best practices are built into every layer.
Snowcap is the power tools. Datacoves is the workshop.
Snowcap replaces Terraform, Schemachange, or Permifrost with a single, purpose-built tool for Snowflake.
| Feature | Snowcap | Terraform | SnowDDL | Permifrost |
|---|---|---|---|---|
| Snowflake-native | ✅ | ❌ | ✅ | ✅ |
| No state file | ✅ | ❌ | ✅ | ✅ |
| YAML + Python | ✅ | HCL only | YAML only | YAML only |
| Speed | 50%+ faster | Baseline | Fast | Slow |
| 60+ resource types | ✅ | Most | Most | Grants only |
| Templating / loops | ✅ | ✅ | Limited | ❌ |
| Export existing resources | ✅ | Import only | ❌ | ❌ |
| Actively maintained | ✅ Datacoves | ✅ Snowflake | ⚠️ Single maintainer | ⚠️ Infrequent |
Run with uv (no install needed):
uvx snowcap plan --config snowcap.yml
Or install from PyPI:
pip install snowcap
Create snowcap.yml:
warehouses:
- name: analytics
warehouse_size: xsmall
auto_suspend: 60
Run:
# Set credentials
export SNOWFLAKE_ACCOUNT=my-account
export SNOWFLAKE_USER=my-user
export SNOWFLAKE_PASSWORD=my-password
export SNOWFLAKE_ROLE=SYSADMIN
# Preview changes
snowcap plan --config snowcap.yml
# Apply changes
snowcap apply --config snowcap.yml
Full documentation, examples, and resource reference at snowcap.datacoves.com
Contributor setup uses uv. One command creates .venv, installs snowcap editable, and installs the pinned dev dependencies from uv.lock:
make install-dev
This removes stale pip install -e . metadata (which would shadow the uv-managed install) and runs uv sync. Run tools through uv so the environment can never drift from the checkout:
uv run pytest # unit tests
make lint # black --check, codespell, ruff
make typecheck # mypy
See TESTING.md for integration test setup.
Snowcap is a fork of Titan Core. The original project appeared unmaintained, so Datacoves forked it to continue active development, fix bugs, and add new features. We're grateful to the Titan Systems team for creating and open-sourcing the original project under the Apache 2.0 license.