strata-cli 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 060e97cfbb307efe69eff087983dc1d28e3e4008bd13f5529a7560e5d7e00f06
4
- data.tar.gz: 134dbf05ad0b5870433fcb3c9a90e50853ed0a9f97c3378a97d208b4f6866dae
3
+ metadata.gz: 61be99c9ce107eae809e67fa23dd4108a471dcc90b6adb039a298b5d59005106
4
+ data.tar.gz: '080076fa7d113e1e066caca27a3e33e3c438a0bb8d2e53a602ed75cf7a5b5ec5'
5
5
  SHA512:
6
- metadata.gz: bf09f28b188e03929870b14515efb76d86f9aab034d048a3e2e5c49751f722718cf6a4d37a8c7d7e2966bd080aac758956df51951758a73b98a885003cbd5bb4
7
- data.tar.gz: ab72ddfa33b44cc8da63cb10c2920575030fa53a4216d8d75eb9e2a38f2eebdc3f36afd3264c6dc81c00b440c6df4eb029df86126e600d16455def0cf311efb5
6
+ metadata.gz: eaac835415776492c4858204340238a71fc9a8e45ad61183d46f532a22723774d39a16e9dfb30db5841bc897a12547a9a8fe93c1543e3b7e1975daecdf5b2d82
7
+ data.tar.gz: d443533139c4aea533e2bf0fd2d3f14e7de3bf7f1bb87e004e174a7232802b8c9086c7e470bb1640c697522fad07445db6bbfa60185e1a667fbe0f7c838ede58
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.13] - 2026-06-20
4
+
5
+ ### Changed
6
+
7
+ - **Documentation**: ClickHouse adapter docs in README, gemspec description, `datasource add` help text, and CHANGELOG notes for the 0.1.12 feature set.
8
+
9
+ ## [0.1.12] - 2026-06-20
10
+
11
+ ### Added
12
+
13
+ - **ClickHouse adapter**: `strata datasource add clickhouse` with connection prompts and optional password credentials.
14
+ - **Security policy scaffolding**: `strata create policy` to add policies to `security.yml`; new projects include a `security.yml` template.
15
+
16
+ ### Changed
17
+
18
+ - **dwh dependency**: Require `dwh` `~> 0.5.0` (ClickHouse adapter and dialect keyword/aggregate support).
19
+
20
+ ### Fixed
21
+
22
+ - **Datasource introspection**: Pass only `catalog` and `schema` qualifiers to DWH for `tables` and `meta` (avoids leaking CLI flags like `--agent` or `--pattern` to adapters).
23
+
3
24
  ## [0.1.11] - 2026-05-22
4
25
 
5
26
  ### Changed
data/README.md CHANGED
@@ -375,6 +375,17 @@ my_databricks:
375
375
  catalog: main
376
376
  schema: default
377
377
  auth_mode: oauth_m2m
378
+
379
+ my_clickhouse:
380
+ adapter: clickhouse
381
+ name: ClickHouse
382
+ protocol: http
383
+ host: localhost
384
+ port: 8123
385
+ database: default
386
+ username: default
387
+ tier: warm
388
+ query_timeout: 3600
378
389
  ```
379
390
 
380
391
  ### Databricks authentication
@@ -403,6 +414,7 @@ Use service principal credentials and run `strata ds auth my_databricks` to save
403
414
  - **Druid** - Apache Druid support
404
415
  - **Redshift** - Amazon Redshift support
405
416
  - **Databricks** - Databricks SQL warehouse support
417
+ - **ClickHouse** - ClickHouse HTTP/native SQL support
406
418
  - **SQLite** - SQLite database support
407
419
 
408
420
  ## Security
@@ -48,6 +48,8 @@ module Strata
48
48
  credentials["auth_mode"] = "oauth_m2m"
49
49
  credentials["oauth_client_id"] = @prompt.ask("OAuth Client ID:")
50
50
  credentials["oauth_client_secret"] = @prompt.ask("OAuth Client Secret:")
51
+ when "clickhouse"
52
+ credentials["password"] = @prompt.mask("Enter Password (leave blank if none):")
51
53
  else
52
54
  if required?
53
55
  unless %w[postgres mysql trino sqlserver].include?(adapter)
@@ -18,4 +18,4 @@ Examples:
18
18
 
19
19
  strata datasource add snowflake # Directly add Snowflake datasource
20
20
 
21
- Supported adapters: postgres, mysql, sqlserver, snowflake, athena, trino, duckdb, druid
21
+ Supported adapters: postgres, mysql, sqlserver, snowflake, athena, trino, duckdb, druid, clickhouse, databricks, redshift, sqlite
@@ -187,7 +187,7 @@ module Strata
187
187
  return unless ds_key
188
188
 
189
189
  adapter = create_adapter(ds_key)
190
- tables = adapter.tables(**options)
190
+ tables = adapter.tables(**adapter_qualifiers)
191
191
  tables = tables.select { it =~ /#{options[:pattern]}/ } if options[:pattern]
192
192
 
193
193
  if agent_mode?
@@ -214,7 +214,7 @@ module Strata
214
214
  method_option :schema, aliases: "s", type: :string, desc: "Change the schema from the configured one."
215
215
  def meta(ds_key, table_name)
216
216
  adapter = create_adapter(ds_key)
217
- md = adapter.metadata(table_name, **options.transform_keys(&:to_sym))
217
+ md = adapter.metadata(table_name, **adapter_qualifiers)
218
218
 
219
219
  if agent_mode?
220
220
  columns = md.columns.map do |column|
@@ -275,6 +275,10 @@ module Strata
275
275
  false
276
276
  end
277
277
 
278
+ def adapter_qualifiers
279
+ options.transform_keys(&:to_sym).slice(:catalog, :schema)
280
+ end
281
+
278
282
  def validate_file_path(file_path, project_path = Dir.pwd)
279
283
  expanded = File.expand_path(file_path, project_path)
280
284
  project_root = File.expand_path(project_path)
@@ -370,6 +374,14 @@ module Strata
370
374
  "schema" => "default",
371
375
  "auth_mode" => "oauth_m2m"
372
376
  }
377
+ when "clickhouse"
378
+ {
379
+ "protocol" => "http",
380
+ "host" => "localhost",
381
+ "port" => 8123,
382
+ "database" => "test_db",
383
+ "username" => "default"
384
+ }
373
385
  else
374
386
  {}
375
387
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Strata
4
4
  module CLI
5
- VERSION = "0.1.12"
5
+ VERSION = "0.1.13"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strata-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ajo Abraham
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.4.4
19
+ version: 0.5.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.4.4
26
+ version: 0.5.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: aws-sdk-athena
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -224,7 +224,7 @@ description: |
224
224
  Comprehensive CLI tool for managing Strata Semantic Analytics projects. Create and initialize
225
225
  projects, manage datasource connections, build semantic table models with AI assistance, run
226
226
  audits and validations, and deploy projects to Strata servers. Supports multiple data warehouse
227
- adapters including PostgreSQL, MySQL, SQL Server, Snowflake, Athena, Trino, and more.
227
+ adapters including PostgreSQL, MySQL, SQL Server, Snowflake, Athena, Trino, ClickHouse, and more.
228
228
  email:
229
229
  - ajo@strata.site
230
230
  - allen@strata.site