datafun-streaming 0.1.0__tar.gz → 0.2.0__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.
Files changed (43) hide show
  1. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/CHANGELOG.md +12 -3
  2. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/PKG-INFO +1 -66
  3. datafun_streaming-0.2.0/README.md +64 -0
  4. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/pyproject.toml +1 -1
  5. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/_version.py +2 -2
  6. datafun_streaming-0.1.0/README.md +0 -129
  7. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/.gitignore +0 -0
  8. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/LICENSE +0 -0
  9. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/__init__.py +0 -0
  10. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/core/__init__.py +0 -0
  11. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/core/types.py +0 -0
  12. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/data_validation/__init__.py +0 -0
  13. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/data_validation/errors.py +0 -0
  14. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/data_validation/reference.py +0 -0
  15. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/data_validation/types.py +0 -0
  16. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/data_validation/validation_utils.py +0 -0
  17. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/io/__init__.py +0 -0
  18. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/io/errors.py +0 -0
  19. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/io/io_utils.py +0 -0
  20. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/kafka/__init__.py +0 -0
  21. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/kafka/errors.py +0 -0
  22. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/kafka/kafka_admin_utils.py +0 -0
  23. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/kafka/kafka_connection_utils.py +0 -0
  24. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/kafka/kafka_consumer_utils.py +0 -0
  25. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/kafka/kafka_producer_utils.py +0 -0
  26. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/kafka/kafka_settings.py +0 -0
  27. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/py.typed +0 -0
  28. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/stats/__init__.py +0 -0
  29. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/stats/stats_utils.py +0 -0
  30. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/storage/__init__.py +0 -0
  31. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/storage/duckdb_utils.py +0 -0
  32. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/visualization/__init__.py +0 -0
  33. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/src/datafun_streaming/visualization/chart_utils.py +0 -0
  34. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/__init__.py +0 -0
  35. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/test_core_types.py +0 -0
  36. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/test_data_validation_reference.py +0 -0
  37. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/test_data_validation_types.py +0 -0
  38. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/test_data_validation_utils.py +0 -0
  39. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/test_duckdb_utils.py +0 -0
  40. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/test_io_utils.py +0 -0
  41. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/test_kafka_error_messages.py +0 -0
  42. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/test_kafka_settings.py +0 -0
  43. {datafun_streaming-0.1.0 → datafun_streaming-0.2.0}/tests/test_stats_utils.py +0 -0
@@ -13,6 +13,15 @@ and this project adheres to **[Semantic Versioning](https://semver.org/spec/v2.0
13
13
 
14
14
  ---
15
15
 
16
+ ## [0.2.0] - 2026-05-08
17
+
18
+ ### Changed
19
+
20
+ - updated README.md
21
+ - added `npx markdownlint-cli2 --fix` to pre-commit
22
+
23
+ ---
24
+
16
25
  ## [0.1.0] - 2026-05-08
17
26
 
18
27
  ### Added
@@ -62,7 +71,7 @@ Follow these steps exactly when creating a new release.
62
71
  1.2. CHANGELOG.md: add section, move unreleased entries, update links
63
72
  1.3. pyproject.toml - update [tool.hatch.version].fallback-version (near the end)
64
73
 
65
- ### Task 2. Sync Version and Validate
74
+ ### Task 2. Validate
66
75
 
67
76
  ```shell
68
77
  uv sync --extra dev --extra docs --upgrade
@@ -72,7 +81,6 @@ uv run python -m pyright
72
81
  uv run python -m pytest
73
82
  uv run python -m zensical build
74
83
  uvx validate-pyproject[all] pyproject.toml
75
-
76
84
  uv build
77
85
  uv run python -m twine check dist/\*
78
86
  ```
@@ -101,7 +109,8 @@ git push origin :refs/tags/vX.Z.Y
101
109
 
102
110
  ## Links
103
111
 
104
- [Unreleased]: https://github.com/denisecase/datafun-streaming/compare/v0.1.0...HEAD
112
+ [Unreleased]: https://github.com/denisecase/datafun-streaming/compare/v0.2.0...HEAD
113
+ [0.2.0]: https://github.com/denisecase/datafun-streaming/releases/tag/v0.2.0
105
114
  [0.1.0]: https://github.com/denisecase/datafun-streaming/releases/tag/v0.1.0
106
115
 
107
116
  <!-- markdownlint-enable MD024 -->
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datafun-streaming
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: Utilities for streaming data analytics with Kafka and DuckDB.
5
5
  Project-URL: Homepage, https://github.com/denisecase/datafun-streaming
6
6
  Project-URL: Repository, https://github.com/denisecase/datafun-streaming
@@ -101,68 +101,3 @@ git push -u origin main
101
101
  ```
102
102
 
103
103
  </details>
104
-
105
- ## Notes
106
-
107
- - Use the **UP ARROW** and **DOWN ARROW** in the terminal to scroll through past commands.
108
- - Use `CTRL+f` to find (and replace) text within a file.
109
- - You do not need to add to or modify `tests/`. They are provided for example only.
110
- - Many files are silent helpers. Explore as you like, but nothing is required.
111
- - You do NOT not to understand everything; understanding builds naturally over time.
112
-
113
- ## Troubleshooting >>> or
114
-
115
- If you see something like this in your terminal: `>>>` or `...`
116
- You accidentally started Python interactive mode.
117
- It happens.
118
- Press `Ctrl+c` (both keys together) or `Ctrl+Z` then `Enter` on Windows.
119
-
120
- ## Example Output
121
-
122
- ```shell
123
- | INFO | P01 | ========================
124
- | INFO | P01 | START main()
125
- | INFO | P01 | ========================
126
- | INFO | P01 | ROOT_DIR = .
127
- | INFO | P01 | DATA_DIR = data
128
- | INFO | P01 | OUTPUT_CSV = data\sales.csv
129
- | INFO | P01 | Streaming 3 sales to C:\Repos\streaming\datafun-streaming\data\sales.csv ...
130
- | INFO | P01 | Watch each sale arrive. Press CTRL+C to stop early.
131
-
132
- | INFO | P01 | (1, 81.87, 'Backpack', 'East')
133
- | INFO | P01 | Generated formatted multi-line SUMMARY string.
134
- | INFO | P01 | Returning the str to the calling function.
135
- | INFO | P01 |
136
- Descriptive Statistics for Streaming Sales Amounts ($):
137
- Count of sales : 1
138
- Minimum sale : $81.87
139
- Maximum sale : $81.87
140
- Average sale : $81.87
141
- Standard deviation: $0.00
142
-
143
- | INFO | P01 | (2, 101.58, 'Water Bottle', 'North')
144
- | INFO | P01 | Generated formatted multi-line SUMMARY string.
145
- | INFO | P01 | Returning the str to the calling function.
146
- | INFO | P01 |
147
- Descriptive Statistics for Streaming Sales Amounts ($):
148
- Count of sales : 2
149
- Minimum sale : $81.87
150
- Maximum sale : $101.58
151
- Average sale : $91.72
152
- Standard deviation: $13.94
153
-
154
- | INFO | P01 | (3, 27.15, 'Running Shoes', 'East')
155
- | INFO | P01 | Generated formatted multi-line SUMMARY string.
156
- | INFO | P01 | Returning the str to the calling function.
157
- | INFO | P01 |
158
- Descriptive Statistics for Streaming Sales Amounts ($):
159
- Count of sales : 3
160
- Minimum sale : $27.15
161
- Maximum sale : $101.58
162
- Average sale : $70.20
163
- Standard deviation: $38.56
164
-
165
- | INFO | P01 | ========================
166
- | INFO | P01 | Producer executed successfully!
167
- | INFO | P01 | ========================
168
- ```
@@ -0,0 +1,64 @@
1
+ # datafun-streaming
2
+
3
+ [![Adaptive Interfaces](https://img.shields.io/badge/adaptive--interfaces-schema-blue?logo=github)](https://github.com/denisecase)
4
+ [![PyPI](https://img.shields.io/pypi/v/datafun-streaming?logo=pypi&label=pypi)](https://pypi.org/project/datafun-streaming/)
5
+ [![Docs Site](https://img.shields.io/badge/docs-site-blue?logo=github)](https://denisecase.github.io/datafun-streaming/)
6
+ [![Repo](https://img.shields.io/badge/repo-GitHub-black?logo=github)](https://github.com/denisecase/datafun-streaming)
7
+ [![Python 3.15+](https://img.shields.io/badge/python-3.15%2B-blue?logo=python)](https://github.com/denisecase/datafun-streaming/blob/main/pyproject.toml)
8
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
9
+
10
+ [![CI](https://github.com/denisecase/datafun-streaming/actions/workflows/ci-python-zensical.yml/badge.svg?branch=main)](https://github.com/denisecase/datafun-streaming/actions/workflows/ci-python-zensical.yml)
11
+ [![Docs](https://github.com/denisecase/datafun-streaming/actions/workflows/deploy-zensical.yml/badge.svg?branch=main)](https://github.com/denisecase/datafun-streaming/actions/workflows/deploy-zensical.yml)
12
+ [![Links](https://github.com/denisecase/datafun-streaming/actions/workflows/links.yml/badge.svg?branch=main)](https://github.com/denisecase/datafun-streaming/actions/workflows/links.yml)
13
+
14
+ > Shared Python utilities for Kafka, DuckDB, validation, stats, and visualization
15
+ > across streaming data analytics projects.
16
+
17
+ ## Command Reference
18
+
19
+ <details>
20
+ <summary>Show command reference</summary>
21
+
22
+ ### In a machine terminal
23
+
24
+ Open a machine terminal where you want the project:
25
+
26
+ ```shell
27
+ git clone https://github.com/denisecase/datafun-streaming
28
+
29
+ cd datafun-streaming
30
+ code .
31
+ ```
32
+
33
+ ### In a VS Code terminal
34
+
35
+ ```shell
36
+ # reset uv cache only after suspected cache corruption or strange dependency errors
37
+ # uv cache clean
38
+
39
+ uv self update
40
+ uv python pin 3.14
41
+ uv sync --extra dev --extra docs --upgrade
42
+
43
+ uvx pre-commit install
44
+
45
+ git add -A
46
+ uvx pre-commit run --all-files
47
+ # repeat if changes were made
48
+ git add -A
49
+ uvx pre-commit run --all-files
50
+
51
+ # do chores
52
+ uv run python -m ruff format .
53
+ uv run python -m ruff check . --fix
54
+ uv run python -m pyright
55
+ uv run python -m pytest
56
+ uv run python -m zensical build
57
+
58
+ # save progress
59
+ git add -A
60
+ git commit -m "update"
61
+ git push -u origin main
62
+ ```
63
+
64
+ </details>
@@ -226,5 +226,5 @@ packages = ["src/datafun_streaming"] # REQ.PACKAGES: Discovery rooted at src/.
226
226
  [tool.hatch.version]
227
227
  # WHY: Version derived from git tags at build time, no manual source file edits.
228
228
  source = "vcs"
229
- fallback-version = "0.1.0" # Used when no git tags present (fresh clone, CI).
229
+ fallback-version = "0.2.0" # Used when no git tags present (fresh clone, CI).
230
230
  tag-pattern = "^(?:v)?(?P<version>\\d+\\.\\d+\\.\\d+)$"
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.1.0'
22
- __version_tuple__ = version_tuple = (0, 1, 0)
21
+ __version__ = version = '0.2.0'
22
+ __version_tuple__ = version_tuple = (0, 2, 0)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -1,129 +0,0 @@
1
- # datafun-streaming
2
-
3
- [![Adaptive Interfaces](https://img.shields.io/badge/adaptive--interfaces-schema-blue?logo=github)](https://github.com/denisecase)
4
- [![PyPI](https://img.shields.io/pypi/v/datafun-streaming?logo=pypi&label=pypi)](https://pypi.org/project/datafun-streaming/)
5
- [![Docs Site](https://img.shields.io/badge/docs-site-blue?logo=github)](https://denisecase.github.io/datafun-streaming/)
6
- [![Repo](https://img.shields.io/badge/repo-GitHub-black?logo=github)](https://github.com/denisecase/datafun-streaming)
7
- [![Python 3.15+](https://img.shields.io/badge/python-3.15%2B-blue?logo=python)](https://github.com/denisecase/datafun-streaming/blob/main/pyproject.toml)
8
- [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
9
-
10
- [![CI](https://github.com/denisecase/datafun-streaming/actions/workflows/ci-python-zensical.yml/badge.svg?branch=main)](https://github.com/denisecase/datafun-streaming/actions/workflows/ci-python-zensical.yml)
11
- [![Docs](https://github.com/denisecase/datafun-streaming/actions/workflows/deploy-zensical.yml/badge.svg?branch=main)](https://github.com/denisecase/datafun-streaming/actions/workflows/deploy-zensical.yml)
12
- [![Links](https://github.com/denisecase/datafun-streaming/actions/workflows/links.yml/badge.svg?branch=main)](https://github.com/denisecase/datafun-streaming/actions/workflows/links.yml)
13
-
14
- > Shared Python utilities for Kafka, DuckDB, validation, stats, and visualization
15
- > across streaming data analytics projects.
16
-
17
- ## Command Reference
18
-
19
- <details>
20
- <summary>Show command reference</summary>
21
-
22
- ### In a machine terminal
23
-
24
- Open a machine terminal where you want the project:
25
-
26
- ```shell
27
- git clone https://github.com/denisecase/datafun-streaming
28
-
29
- cd datafun-streaming
30
- code .
31
- ```
32
-
33
- ### In a VS Code terminal
34
-
35
- ```shell
36
- # reset uv cache only after suspected cache corruption or strange dependency errors
37
- # uv cache clean
38
-
39
- uv self update
40
- uv python pin 3.14
41
- uv sync --extra dev --extra docs --upgrade
42
-
43
- uvx pre-commit install
44
-
45
- git add -A
46
- uvx pre-commit run --all-files
47
- # repeat if changes were made
48
- git add -A
49
- uvx pre-commit run --all-files
50
-
51
- # do chores
52
- uv run python -m ruff format .
53
- uv run python -m ruff check . --fix
54
- uv run python -m pyright
55
- uv run python -m pytest
56
- uv run python -m zensical build
57
-
58
- # save progress
59
- git add -A
60
- git commit -m "update"
61
- git push -u origin main
62
- ```
63
-
64
- </details>
65
-
66
- ## Notes
67
-
68
- - Use the **UP ARROW** and **DOWN ARROW** in the terminal to scroll through past commands.
69
- - Use `CTRL+f` to find (and replace) text within a file.
70
- - You do not need to add to or modify `tests/`. They are provided for example only.
71
- - Many files are silent helpers. Explore as you like, but nothing is required.
72
- - You do NOT not to understand everything; understanding builds naturally over time.
73
-
74
- ## Troubleshooting >>> or
75
-
76
- If you see something like this in your terminal: `>>>` or `...`
77
- You accidentally started Python interactive mode.
78
- It happens.
79
- Press `Ctrl+c` (both keys together) or `Ctrl+Z` then `Enter` on Windows.
80
-
81
- ## Example Output
82
-
83
- ```shell
84
- | INFO | P01 | ========================
85
- | INFO | P01 | START main()
86
- | INFO | P01 | ========================
87
- | INFO | P01 | ROOT_DIR = .
88
- | INFO | P01 | DATA_DIR = data
89
- | INFO | P01 | OUTPUT_CSV = data\sales.csv
90
- | INFO | P01 | Streaming 3 sales to C:\Repos\streaming\datafun-streaming\data\sales.csv ...
91
- | INFO | P01 | Watch each sale arrive. Press CTRL+C to stop early.
92
-
93
- | INFO | P01 | (1, 81.87, 'Backpack', 'East')
94
- | INFO | P01 | Generated formatted multi-line SUMMARY string.
95
- | INFO | P01 | Returning the str to the calling function.
96
- | INFO | P01 |
97
- Descriptive Statistics for Streaming Sales Amounts ($):
98
- Count of sales : 1
99
- Minimum sale : $81.87
100
- Maximum sale : $81.87
101
- Average sale : $81.87
102
- Standard deviation: $0.00
103
-
104
- | INFO | P01 | (2, 101.58, 'Water Bottle', 'North')
105
- | INFO | P01 | Generated formatted multi-line SUMMARY string.
106
- | INFO | P01 | Returning the str to the calling function.
107
- | INFO | P01 |
108
- Descriptive Statistics for Streaming Sales Amounts ($):
109
- Count of sales : 2
110
- Minimum sale : $81.87
111
- Maximum sale : $101.58
112
- Average sale : $91.72
113
- Standard deviation: $13.94
114
-
115
- | INFO | P01 | (3, 27.15, 'Running Shoes', 'East')
116
- | INFO | P01 | Generated formatted multi-line SUMMARY string.
117
- | INFO | P01 | Returning the str to the calling function.
118
- | INFO | P01 |
119
- Descriptive Statistics for Streaming Sales Amounts ($):
120
- Count of sales : 3
121
- Minimum sale : $27.15
122
- Maximum sale : $101.58
123
- Average sale : $70.20
124
- Standard deviation: $38.56
125
-
126
- | INFO | P01 | ========================
127
- | INFO | P01 | Producer executed successfully!
128
- | INFO | P01 | ========================
129
- ```