streamwright 0.1.1__tar.gz → 0.1.3__tar.gz
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.
- {streamwright-0.1.1/src/streamwright.egg-info → streamwright-0.1.3}/PKG-INFO +2 -2
- {streamwright-0.1.1 → streamwright-0.1.3}/README.md +1 -1
- {streamwright-0.1.1 → streamwright-0.1.3}/pyproject.toml +1 -1
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/connectors.json +19 -19
- {streamwright-0.1.1 → streamwright-0.1.3/src/streamwright.egg-info}/PKG-INFO +2 -2
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_validation.py +2 -2
- {streamwright-0.1.1 → streamwright-0.1.3}/LICENSE +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/setup.cfg +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/setup.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/__init__.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/catalog.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/cli.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/config/__init__.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/config/inputs.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/config/loader.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/config/reader.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/engine/__init__.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/engine/queries.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/engine/runner.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/engine/sql.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/net/__init__.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/net/downloads.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/net/http.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/outputs/__init__.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/outputs/dlt_output.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/outputs/exporter.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/outputs/output.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/outputs/staging.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/outputs/warehouse.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/runtime/__init__.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/runtime/components.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/runtime/logs.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/runtime/templates.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/runtime/testing.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/validation/__init__.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/validation/engine.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/validation/schema.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright/core/validation/source.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright.egg-info/SOURCES.txt +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright.egg-info/dependency_links.txt +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright.egg-info/entry_points.txt +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright.egg-info/requires.txt +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/src/streamwright.egg-info/top_level.txt +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_connectors.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_dlt_output.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_exact_decimals.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_exporter.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_logging.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_output_formats.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_runner.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_sql.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_transform.py +0 -0
- {streamwright-0.1.1 → streamwright-0.1.3}/tests/test_warehouse_output.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: streamwright
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Declarative data connectors — pull from APIs, files and databases with YAML, shape with SQL, write anywhere.
|
|
5
5
|
Author: Karthick Jaganathan
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -34,7 +34,7 @@ signing in, paging, retries, shaping the data with DuckDB SQL, and writing it ou
|
|
|
34
34
|
No per-connector code, and one command runs any source.
|
|
35
35
|
|
|
36
36
|
The `streamwright` package is the heart of it: the `streamwright` command plus the runtime for
|
|
37
|
-
`kind: source` sources.
|
|
37
|
+
`kind: source` sources.
|
|
38
38
|
|
|
39
39
|
- **`streamwright run`** executes a source · **`streamwright validate`** checks one · **`streamwright connectors`** browses and installs connectors.
|
|
40
40
|
- A source is a folder — `source.yaml` (`spec`, `auth`, `http`) and one file per stream in `streams/` — or a single YAML file.
|
|
@@ -6,7 +6,7 @@ signing in, paging, retries, shaping the data with DuckDB SQL, and writing it ou
|
|
|
6
6
|
No per-connector code, and one command runs any source.
|
|
7
7
|
|
|
8
8
|
The `streamwright` package is the heart of it: the `streamwright` command plus the runtime for
|
|
9
|
-
`kind: source` sources.
|
|
9
|
+
`kind: source` sources.
|
|
10
10
|
|
|
11
11
|
- **`streamwright run`** executes a source · **`streamwright validate`** checks one · **`streamwright connectors`** browses and installs connectors.
|
|
12
12
|
- A source is a folder — `source.yaml` (`spec`, `auth`, `http`) and one file per stream in `streams/` — or a single YAML file.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "streamwright"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.3"
|
|
8
8
|
description = "Declarative data connectors — pull from APIs, files and databases with YAML, shape with SQL, write anywhere."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "Apache-2.0"
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"connectors": {
|
|
3
|
-
"facebook_ads": {
|
|
4
|
-
"family": "ads",
|
|
5
|
-
"homepage": "https://github.com/karthick-jaganathan/streamwright",
|
|
6
|
-
"install": {
|
|
7
|
-
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@e1822c585ea8654f0db6f70b856c79b7005c2e1e#subdirectory=connectors/ads/facebook_ads"
|
|
8
|
-
},
|
|
9
|
-
"key": "facebook_ads",
|
|
10
|
-
"maintainer": "karthick-jaganathan",
|
|
11
|
-
"summary": "Facebook Marketing insights & objects",
|
|
12
|
-
"title": "Facebook Ads",
|
|
13
|
-
"trust": "official"
|
|
14
|
-
},
|
|
15
3
|
"files": {
|
|
16
4
|
"family": "readers",
|
|
17
5
|
"homepage": "https://github.com/karthick-jaganathan/streamwright",
|
|
18
6
|
"install": {
|
|
19
|
-
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@
|
|
7
|
+
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@26a58d8b9c6a0549a184a3939a8c57490ba03f90#subdirectory=connectors/readers/files"
|
|
20
8
|
},
|
|
21
9
|
"key": "files",
|
|
22
10
|
"maintainer": "karthick-jaganathan",
|
|
@@ -28,7 +16,7 @@
|
|
|
28
16
|
"family": "readers",
|
|
29
17
|
"homepage": "https://github.com/karthick-jaganathan/streamwright",
|
|
30
18
|
"install": {
|
|
31
|
-
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@
|
|
19
|
+
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@26a58d8b9c6a0549a184a3939a8c57490ba03f90#subdirectory=connectors/readers/gcs"
|
|
32
20
|
},
|
|
33
21
|
"key": "gcs",
|
|
34
22
|
"maintainer": "karthick-jaganathan",
|
|
@@ -40,7 +28,7 @@
|
|
|
40
28
|
"family": "ads",
|
|
41
29
|
"homepage": "https://github.com/karthick-jaganathan/streamwright",
|
|
42
30
|
"install": {
|
|
43
|
-
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@
|
|
31
|
+
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@26a58d8b9c6a0549a184a3939a8c57490ba03f90#subdirectory=connectors/ads/google_ads"
|
|
44
32
|
},
|
|
45
33
|
"key": "google_ads",
|
|
46
34
|
"maintainer": "karthick-jaganathan",
|
|
@@ -48,11 +36,23 @@
|
|
|
48
36
|
"title": "Google Ads",
|
|
49
37
|
"trust": "official"
|
|
50
38
|
},
|
|
39
|
+
"meta_ads": {
|
|
40
|
+
"family": "ads",
|
|
41
|
+
"homepage": "https://github.com/karthick-jaganathan/streamwright",
|
|
42
|
+
"install": {
|
|
43
|
+
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@26a58d8b9c6a0549a184a3939a8c57490ba03f90#subdirectory=connectors/ads/meta_ads"
|
|
44
|
+
},
|
|
45
|
+
"key": "meta_ads",
|
|
46
|
+
"maintainer": "karthick-jaganathan",
|
|
47
|
+
"summary": "Meta Marketing insights & objects",
|
|
48
|
+
"title": "Meta Ads",
|
|
49
|
+
"trust": "official"
|
|
50
|
+
},
|
|
51
51
|
"microsoft_ads": {
|
|
52
52
|
"family": "ads",
|
|
53
53
|
"homepage": "https://github.com/karthick-jaganathan/streamwright",
|
|
54
54
|
"install": {
|
|
55
|
-
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@
|
|
55
|
+
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@26a58d8b9c6a0549a184a3939a8c57490ba03f90#subdirectory=connectors/ads/microsoft_ads"
|
|
56
56
|
},
|
|
57
57
|
"key": "microsoft_ads",
|
|
58
58
|
"maintainer": "karthick-jaganathan",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"family": "readers",
|
|
65
65
|
"homepage": "https://github.com/karthick-jaganathan/streamwright",
|
|
66
66
|
"install": {
|
|
67
|
-
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@
|
|
67
|
+
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@26a58d8b9c6a0549a184a3939a8c57490ba03f90#subdirectory=connectors/readers/postgres"
|
|
68
68
|
},
|
|
69
69
|
"key": "postgres",
|
|
70
70
|
"maintainer": "karthick-jaganathan",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"family": "readers",
|
|
77
77
|
"homepage": "https://github.com/karthick-jaganathan/streamwright",
|
|
78
78
|
"install": {
|
|
79
|
-
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@
|
|
79
|
+
"git": "git+https://github.com/karthick-jaganathan/streamwright.git@26a58d8b9c6a0549a184a3939a8c57490ba03f90#subdirectory=connectors/readers/s3"
|
|
80
80
|
},
|
|
81
81
|
"key": "s3",
|
|
82
82
|
"maintainer": "karthick-jaganathan",
|
|
@@ -86,6 +86,6 @@
|
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
88
|
"count": 7,
|
|
89
|
-
"generated_at": "2026-10-
|
|
89
|
+
"generated_at": "2026-10-08T11:05:52.036167+00:00",
|
|
90
90
|
"schema_version": 1
|
|
91
91
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: streamwright
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Declarative data connectors — pull from APIs, files and databases with YAML, shape with SQL, write anywhere.
|
|
5
5
|
Author: Karthick Jaganathan
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -34,7 +34,7 @@ signing in, paging, retries, shaping the data with DuckDB SQL, and writing it ou
|
|
|
34
34
|
No per-connector code, and one command runs any source.
|
|
35
35
|
|
|
36
36
|
The `streamwright` package is the heart of it: the `streamwright` command plus the runtime for
|
|
37
|
-
`kind: source` sources.
|
|
37
|
+
`kind: source` sources.
|
|
38
38
|
|
|
39
39
|
- **`streamwright run`** executes a source · **`streamwright validate`** checks one · **`streamwright connectors`** browses and installs connectors.
|
|
40
40
|
- A source is a folder — `source.yaml` (`spec`, `auth`, `http`) and one file per stream in `streams/` — or a single YAML file.
|
|
@@ -387,7 +387,7 @@ def test_auth_checks():
|
|
|
387
387
|
|
|
388
388
|
def test_connectors_and_sdk_requests():
|
|
389
389
|
assert check(sdk_source) == []
|
|
390
|
-
assert codes(check(sdk_source, allowed_connectors=["
|
|
390
|
+
assert codes(check(sdk_source, allowed_connectors=["meta"])) == [(ERROR, "connector-not-allowed")] * 2
|
|
391
391
|
|
|
392
392
|
def mismatch(d):
|
|
393
393
|
sdk_source(d)
|
|
@@ -1221,7 +1221,7 @@ def test_control_characters_are_yaml_errors(tmp_path):
|
|
|
1221
1221
|
def test_cli_allow_connector(capsys):
|
|
1222
1222
|
path = os.path.join(SOURCES, "ads", "google_ads")
|
|
1223
1223
|
assert main([path]) == 0
|
|
1224
|
-
assert main(["--allow-connector", "
|
|
1224
|
+
assert main(["--allow-connector", "meta", path]) == 1
|
|
1225
1225
|
assert "connector 'google_ads' is not in the allowed list" in capsys.readouterr().out
|
|
1226
1226
|
|
|
1227
1227
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|