al-data-utils 0.3.1__tar.gz → 0.3.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.
Files changed (66) hide show
  1. {al_data_utils-0.3.1/src/al_data_utils.egg-info → al_data_utils-0.3.3}/PKG-INFO +19 -34
  2. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/README.md +125 -141
  3. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/pyproject.toml +59 -57
  4. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/sql_utils/sql_utils.py +1 -1
  5. {al_data_utils-0.3.1 → al_data_utils-0.3.3/src/al_data_utils.egg-info}/PKG-INFO +19 -34
  6. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils.egg-info/SOURCES.txt +1 -0
  7. al_data_utils-0.3.3/src/al_data_utils.egg-info/requires.txt +1 -0
  8. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/LICENSE +0 -0
  9. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/setup.cfg +0 -0
  10. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/__init__.py +0 -0
  11. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/airflow_utils/__init__.py +0 -0
  12. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/airflow_utils/airflow_utils.py +0 -0
  13. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/azure_as_utils/__init__.py +0 -0
  14. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/azure_as_utils/auth.py +0 -0
  15. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/azure_as_utils/azure_as_utils.py +0 -0
  16. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/azure_as_utils/client.py +0 -0
  17. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/azure_as_utils/errors.py +0 -0
  18. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/azure_as_utils/models.py +0 -0
  19. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/azure_as_utils/poller.py +0 -0
  20. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/__init__.py +0 -0
  21. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/dacpac/__init__.py +0 -0
  22. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/dacpac/sqlpackage.py +0 -0
  23. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/__init__.py +0 -0
  24. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/config.py +0 -0
  25. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/emit/__init__.py +0 -0
  26. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/emit/foreign_keys.py +0 -0
  27. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/emit/indexes.py +0 -0
  28. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/emit/sql_objects.py +0 -0
  29. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/emit/tables.py +0 -0
  30. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/introspect/__init__.py +0 -0
  31. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/introspect/foreign_keys.py +0 -0
  32. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/introspect/functions.py +0 -0
  33. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/introspect/indexes.py +0 -0
  34. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/introspect/sequences.py +0 -0
  35. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/introspect/stored_procedures.py +0 -0
  36. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/introspect/synonyms.py +0 -0
  37. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/introspect/tables.py +0 -0
  38. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/introspect/views.py +0 -0
  39. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/io/__init__.py +0 -0
  40. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/io/layout.py +0 -0
  41. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/io/writer.py +0 -0
  42. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/models/__init__.py +0 -0
  43. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/models/foreign_key_def.py +0 -0
  44. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/models/index_def.py +0 -0
  45. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/models/sql_object_def.py +0 -0
  46. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/models/table_column_def.py +0 -0
  47. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/models/table_def.py +0 -0
  48. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/schema_snapshot/snapshot_processor.py +0 -0
  49. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/backup_utils/mssql/scripter/__init__.py +0 -0
  50. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/config_utils/__init__.py +0 -0
  51. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/config_utils/config_utils.py +0 -0
  52. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/files_sync_utils/__init__.py +0 -0
  53. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/files_sync_utils/files_sync_utils.py +0 -0
  54. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/geo_utils/__init__.py +0 -0
  55. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/git_utils/__init__.py +0 -0
  56. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/git_utils/git_utils.py +0 -0
  57. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/logging_utils/__init__.py +0 -0
  58. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/logging_utils/logging_utils.py +0 -0
  59. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/ones_api_utils/__init__.py +0 -0
  60. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/ones_api_utils/ones_api_utils.py +0 -0
  61. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/sql_utils/__init__.py +0 -0
  62. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/tg_utils/__init__.py +0 -0
  63. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils/tg_utils/tg_utils.py +0 -0
  64. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils.egg-info/dependency_links.txt +0 -0
  65. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/src/al_data_utils.egg-info/top_level.txt +0 -0
  66. {al_data_utils-0.3.1 → al_data_utils-0.3.3}/tests/test_azure_as_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: al-data-utils
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: Reusable utilities for data engineering (Airflow, Azure, Snowflake, SQL, config).
5
5
  Author-email: AL Data Labs <pypi@aldatalabs.com>
6
6
  License-Expression: MIT
@@ -12,6 +12,7 @@ Classifier: Topic :: Software Development :: Libraries
12
12
  Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
+ Requires-Dist: pyyaml
15
16
  Dynamic: license-file
16
17
 
17
18
  # al-data-utils
@@ -20,40 +21,31 @@ Reusable Python utilities for data and automation workflows.
20
21
 
21
22
  This repository contains independent utility modules for sync operations, git automation, SQL work, logging helpers, and MSSQL schema snapshot generation.
22
23
 
23
- ## Python and Setup
24
-
25
- - Python: 3.10+
26
- - Packaging: setuptools (src layout)
27
-
28
- Install locally in editable mode:
24
+ ## Install
29
25
 
30
26
  ```bash
31
- pip install -e .
27
+ pip install al-data-utils
32
28
  ```
33
29
 
34
- ## Project Structure
35
-
36
- - src/al_data_utils
37
- - examples
38
- - development_guides
39
- - tools
30
+ Python 3.10+. Runtime dependencies (`pyyaml`, `sqlalchemy`, `pandas`, `requests`, `msal`, ...) are expected from the host environment, typically an Airflow image.
40
31
 
41
- Main utility groups under src/al_data_utils:
32
+ ## Modules
42
33
 
43
- - airflow_utils
44
- - backup_utils
45
- - config_utils
46
- - files_sync_utils
47
- - geo_utils
48
- - git_utils
49
- - logging_utils
50
- - ones_api_utils
51
- - sql_utils
52
- - tg_utils
34
+ - `airflow_utils` - Airflow Variable / connection helpers
35
+ - `azure_as_utils` - Azure Analysis Services model refresh (REST + MSAL)
36
+ - `backup_utils` - MSSQL schema snapshot to filesystem
37
+ - `config_utils` - YAML config loading
38
+ - `files_sync_utils` - folder inventory, sync plan, copy, retention
39
+ - `geo_utils` - geo helpers
40
+ - `git_utils` - git automation wrappers
41
+ - `logging_utils` - unified logging
42
+ - `ones_api_utils` - 1C/ОneS API client
43
+ - `sql_utils` - `UnifiedSQLClient` (MSSQL / PostgreSQL / Snowflake via SQLAlchemy)
44
+ - `tg_utils` - Telegram helpers
53
45
 
54
46
  ## Examples
55
47
 
56
- Runnable examples are available in the `examples` folder for the main utility groups.
48
+ Runnable examples are available in the `examples` folder of the repository for the main utility groups.
57
49
  Use them as reference implementations for local scripts and automation jobs.
58
50
 
59
51
  ## MSSQL Schema Snapshot
@@ -145,13 +137,6 @@ Notes:
145
137
 
146
138
  `git_utils` wraps common git automation operations with consistent behavior and error handling.
147
139
 
148
- ## Development Guides
149
-
150
- - development_guides/dev_guide.txt
151
- - development_guides/auth_key_guide.txt
152
-
153
- These guides contain release flow notes and auth-related instructions.
154
-
155
140
  ## Changelog
156
141
 
157
- See CHANGELOG.md for release notes.
142
+ See `CHANGELOG.md` in the repository for release notes.
@@ -1,141 +1,125 @@
1
- # al-data-utils
2
-
3
- Reusable Python utilities for data and automation workflows.
4
-
5
- This repository contains independent utility modules for sync operations, git automation, SQL work, logging helpers, and MSSQL schema snapshot generation.
6
-
7
- ## Python and Setup
8
-
9
- - Python: 3.10+
10
- - Packaging: setuptools (src layout)
11
-
12
- Install locally in editable mode:
13
-
14
- ```bash
15
- pip install -e .
16
- ```
17
-
18
- ## Project Structure
19
-
20
- - src/al_data_utils
21
- - examples
22
- - development_guides
23
- - tools
24
-
25
- Main utility groups under src/al_data_utils:
26
-
27
- - airflow_utils
28
- - backup_utils
29
- - config_utils
30
- - files_sync_utils
31
- - geo_utils
32
- - git_utils
33
- - logging_utils
34
- - ones_api_utils
35
- - sql_utils
36
- - tg_utils
37
-
38
- ## Examples
39
-
40
- Runnable examples are available in the `examples` folder for the main utility groups.
41
- Use them as reference implementations for local scripts and automation jobs.
42
-
43
- ## MSSQL Schema Snapshot
44
-
45
- The snapshot tool exports SQL objects from MSSQL into a filesystem layout and syncs staging output to destination folders.
46
-
47
- Current behavior highlights:
48
-
49
- - Supports single DB and multi-DB runs in one execution.
50
- - Always writes outputs into per-DB folders.
51
- - Uses staging first, then syncs to final output.
52
- - Supports cleanup of staging folders.
53
- - Supports sync log retention cleanup.
54
- - Supports include and exclude filters per object type.
55
- - Supports DataGrip template override files.
56
-
57
- Output shape:
58
-
59
- ```text
60
- <MSSQL_OUT_DIR>/<DatabaseName>/schemas/<schema>/
61
- tables/
62
- views/
63
- routines/
64
- sequences/
65
- synonyms/
66
- ```
67
-
68
- ### Snapshot Environment Variables
69
-
70
- Core connection and output:
71
-
72
- - MSSQL_OUT_DIR
73
- - MSSQL_SERVER
74
- - MSSQL_DATABASE
75
- - MSSQL_DATABASES
76
- - MSSQL_AUTH_MODE
77
- - MSSQL_USER
78
- - MSSQL_PASSWORD
79
- - MSSQL_DRIVER
80
-
81
- Snapshot behavior:
82
-
83
- - MSSQL_ENABLE_TABLE_DEFINITIONS
84
- - MSSQL_ENABLE_INDEXES
85
- - MSSQL_ENABLE_FOREIGN_KEYS
86
- - MSSQL_ENABLE_VIEWS
87
- - MSSQL_ENABLE_STORED_PROCEDURES
88
- - MSSQL_ENABLE_FUNCTIONS
89
- - MSSQL_ENABLE_SEQUENCES
90
- - MSSQL_ENABLE_SYNONYMS
91
- - MSSQL_CLEANUP_STAGING
92
- - MSSQL_SYNC_LOG_RETENTION_DAYS
93
-
94
- Filters:
95
-
96
- - MSSQL_INCLUDE_SCHEMAS
97
- - MSSQL_EXCLUDE_SCHEMAS
98
- - MSSQL_INCLUDE_TABLES
99
- - MSSQL_EXCLUDE_TABLES
100
- - MSSQL_INCLUDE_VIEWS
101
- - MSSQL_EXCLUDE_VIEWS
102
- - MSSQL_INCLUDE_STORED_PROCEDURES
103
- - MSSQL_EXCLUDE_STORED_PROCEDURES
104
- - MSSQL_INCLUDE_FUNCTIONS
105
- - MSSQL_EXCLUDE_FUNCTIONS
106
- - MSSQL_INCLUDE_SEQUENCES
107
- - MSSQL_EXCLUDE_SEQUENCES
108
- - MSSQL_INCLUDE_SYNONYMS
109
- - MSSQL_EXCLUDE_SYNONYMS
110
-
111
- Notes:
112
-
113
- - If MSSQL_DATABASES is set, it is treated as a comma-separated list.
114
- - If MSSQL_DATABASES is empty, MSSQL_DATABASE is used.
115
- - If MSSQL_DATABASE contains commas, it is also treated as a list for backward compatibility.
116
-
117
- ## File Sync Utilities
118
-
119
- `files_sync_utils` provides:
120
-
121
- - Inventory building
122
- - Plan generation
123
- - Copy and update execution
124
- - Extra destination cleanup rules
125
- - Activity CSV logging
126
- - Log retention cleanup
127
-
128
- ## Git Utilities
129
-
130
- `git_utils` wraps common git automation operations with consistent behavior and error handling.
131
-
132
- ## Development Guides
133
-
134
- - development_guides/dev_guide.txt
135
- - development_guides/auth_key_guide.txt
136
-
137
- These guides contain release flow notes and auth-related instructions.
138
-
139
- ## Changelog
140
-
141
- See CHANGELOG.md for release notes.
1
+ # al-data-utils
2
+
3
+ Reusable Python utilities for data and automation workflows.
4
+
5
+ This repository contains independent utility modules for sync operations, git automation, SQL work, logging helpers, and MSSQL schema snapshot generation.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ pip install al-data-utils
11
+ ```
12
+
13
+ Python 3.10+. Runtime dependencies (`pyyaml`, `sqlalchemy`, `pandas`, `requests`, `msal`, ...) are expected from the host environment, typically an Airflow image.
14
+
15
+ ## Modules
16
+
17
+ - `airflow_utils` - Airflow Variable / connection helpers
18
+ - `azure_as_utils` - Azure Analysis Services model refresh (REST + MSAL)
19
+ - `backup_utils` - MSSQL schema snapshot to filesystem
20
+ - `config_utils` - YAML config loading
21
+ - `files_sync_utils` - folder inventory, sync plan, copy, retention
22
+ - `geo_utils` - geo helpers
23
+ - `git_utils` - git automation wrappers
24
+ - `logging_utils` - unified logging
25
+ - `ones_api_utils` - 1C/ОneS API client
26
+ - `sql_utils` - `UnifiedSQLClient` (MSSQL / PostgreSQL / Snowflake via SQLAlchemy)
27
+ - `tg_utils` - Telegram helpers
28
+
29
+ ## Examples
30
+
31
+ Runnable examples are available in the `examples` folder of the repository for the main utility groups.
32
+ Use them as reference implementations for local scripts and automation jobs.
33
+
34
+ ## MSSQL Schema Snapshot
35
+
36
+ The snapshot tool exports SQL objects from MSSQL into a filesystem layout and syncs staging output to destination folders.
37
+
38
+ Current behavior highlights:
39
+
40
+ - Supports single DB and multi-DB runs in one execution.
41
+ - Always writes outputs into per-DB folders.
42
+ - Uses staging first, then syncs to final output.
43
+ - Supports cleanup of staging folders.
44
+ - Supports sync log retention cleanup.
45
+ - Supports include and exclude filters per object type.
46
+ - Supports DataGrip template override files.
47
+
48
+ Output shape:
49
+
50
+ ```text
51
+ <MSSQL_OUT_DIR>/<DatabaseName>/schemas/<schema>/
52
+ tables/
53
+ views/
54
+ routines/
55
+ sequences/
56
+ synonyms/
57
+ ```
58
+
59
+ ### Snapshot Environment Variables
60
+
61
+ Core connection and output:
62
+
63
+ - MSSQL_OUT_DIR
64
+ - MSSQL_SERVER
65
+ - MSSQL_DATABASE
66
+ - MSSQL_DATABASES
67
+ - MSSQL_AUTH_MODE
68
+ - MSSQL_USER
69
+ - MSSQL_PASSWORD
70
+ - MSSQL_DRIVER
71
+
72
+ Snapshot behavior:
73
+
74
+ - MSSQL_ENABLE_TABLE_DEFINITIONS
75
+ - MSSQL_ENABLE_INDEXES
76
+ - MSSQL_ENABLE_FOREIGN_KEYS
77
+ - MSSQL_ENABLE_VIEWS
78
+ - MSSQL_ENABLE_STORED_PROCEDURES
79
+ - MSSQL_ENABLE_FUNCTIONS
80
+ - MSSQL_ENABLE_SEQUENCES
81
+ - MSSQL_ENABLE_SYNONYMS
82
+ - MSSQL_CLEANUP_STAGING
83
+ - MSSQL_SYNC_LOG_RETENTION_DAYS
84
+
85
+ Filters:
86
+
87
+ - MSSQL_INCLUDE_SCHEMAS
88
+ - MSSQL_EXCLUDE_SCHEMAS
89
+ - MSSQL_INCLUDE_TABLES
90
+ - MSSQL_EXCLUDE_TABLES
91
+ - MSSQL_INCLUDE_VIEWS
92
+ - MSSQL_EXCLUDE_VIEWS
93
+ - MSSQL_INCLUDE_STORED_PROCEDURES
94
+ - MSSQL_EXCLUDE_STORED_PROCEDURES
95
+ - MSSQL_INCLUDE_FUNCTIONS
96
+ - MSSQL_EXCLUDE_FUNCTIONS
97
+ - MSSQL_INCLUDE_SEQUENCES
98
+ - MSSQL_EXCLUDE_SEQUENCES
99
+ - MSSQL_INCLUDE_SYNONYMS
100
+ - MSSQL_EXCLUDE_SYNONYMS
101
+
102
+ Notes:
103
+
104
+ - If MSSQL_DATABASES is set, it is treated as a comma-separated list.
105
+ - If MSSQL_DATABASES is empty, MSSQL_DATABASE is used.
106
+ - If MSSQL_DATABASE contains commas, it is also treated as a list for backward compatibility.
107
+
108
+ ## File Sync Utilities
109
+
110
+ `files_sync_utils` provides:
111
+
112
+ - Inventory building
113
+ - Plan generation
114
+ - Copy and update execution
115
+ - Extra destination cleanup rules
116
+ - Activity CSV logging
117
+ - Log retention cleanup
118
+
119
+ ## Git Utilities
120
+
121
+ `git_utils` wraps common git automation operations with consistent behavior and error handling.
122
+
123
+ ## Changelog
124
+
125
+ See `CHANGELOG.md` in the repository for release notes.
@@ -1,58 +1,60 @@
1
- [project]
2
- name = "al-data-utils"
3
- version = "0.3.1"
4
- description = "Reusable utilities for data engineering (Airflow, Azure, Snowflake, SQL, config)."
5
- authors = [{ name = "AL Data Labs", email = "pypi@aldatalabs.com" }]
6
- license = "MIT"
7
- license-files = ["LICENSE"]
8
- keywords = ["airflow", "data-engineering", "azure", "snowflake", "sql"]
9
- classifiers = [
10
- "Programming Language :: Python :: 3",
11
- "Operating System :: OS Independent",
12
- "Topic :: Software Development :: Libraries",
13
- ]
14
- readme = "README.md"
15
- requires-python = ">=3.10"
16
- dependencies = [] # keep empty for now, using airflow environment's dependencies
17
-
18
- [project.urls]
19
- Homepage = "https://aldatalabs.com"
20
-
21
-
22
- [build-system]
23
- requires = ["setuptools>=77"]
24
- build-backend = "setuptools.build_meta"
25
-
26
- [tool.setuptools]
27
- package-dir = {"" = "src"}
28
-
29
- [tool.setuptools.packages.find]
30
- where = ["src"]
31
-
32
- # Ruff configuration
33
- [tool.ruff]
34
- # Exclude a variety of commonly ignored directories.
35
- exclude = [
36
- ".git",
37
- ".venv",
38
- ]
39
-
40
- # Assume Python 3.10
41
- target-version = "py310"
42
-
43
- # Same as Black.
44
- line-length = 88
45
- indent-width = 4
46
-
47
-
48
- [tool.ruff.format]
49
- quote-style = "single"
50
-
51
- # Like Black, indent with spaces, rather than tabs.
52
- indent-style = "space"
53
-
54
- # Like Black, respect magic trailing commas.
55
- skip-magic-trailing-comma = true
56
-
57
- # Like Black, automatically detect the appropriate line ending.
1
+ [project]
2
+ name = "al-data-utils"
3
+ version = "0.3.3"
4
+ description = "Reusable utilities for data engineering (Airflow, Azure, Snowflake, SQL, config)."
5
+ authors = [{ name = "AL Data Labs", email = "pypi@aldatalabs.com" }]
6
+ license = "MIT"
7
+ license-files = ["LICENSE"]
8
+ keywords = ["airflow", "data-engineering", "azure", "snowflake", "sql"]
9
+ classifiers = [
10
+ "Programming Language :: Python :: 3",
11
+ "Operating System :: OS Independent",
12
+ "Topic :: Software Development :: Libraries",
13
+ ]
14
+ readme = "README.md"
15
+ requires-python = ">=3.10"
16
+ dependencies = [
17
+ "pyyaml",
18
+ ] # other runtime deps (sqlalchemy, pandas, requests, msal, airflow) come from the host environment
19
+
20
+ [project.urls]
21
+ Homepage = "https://aldatalabs.com"
22
+
23
+
24
+ [build-system]
25
+ requires = ["setuptools>=77"]
26
+ build-backend = "setuptools.build_meta"
27
+
28
+ [tool.setuptools]
29
+ package-dir = {"" = "src"}
30
+
31
+ [tool.setuptools.packages.find]
32
+ where = ["src"]
33
+
34
+ # Ruff configuration
35
+ [tool.ruff]
36
+ # Exclude a variety of commonly ignored directories.
37
+ exclude = [
38
+ ".git",
39
+ ".venv",
40
+ ]
41
+
42
+ # Assume Python 3.10
43
+ target-version = "py310"
44
+
45
+ # Same as Black.
46
+ line-length = 88
47
+ indent-width = 4
48
+
49
+
50
+ [tool.ruff.format]
51
+ quote-style = "single"
52
+
53
+ # Like Black, indent with spaces, rather than tabs.
54
+ indent-style = "space"
55
+
56
+ # Like Black, respect magic trailing commas.
57
+ skip-magic-trailing-comma = true
58
+
59
+ # Like Black, automatically detect the appropriate line ending.
58
60
  line-ending = "auto"
@@ -89,7 +89,7 @@ class UnifiedSQLClient:
89
89
  else:
90
90
  raise ValueError(f'Unsupported dialect: {dialect}')
91
91
 
92
- self.engine = create_engine(self.connection_string, connect_args=connect_args)
92
+ self.engine = create_engine(self.connection_string, connect_args=connect_args, pool_pre_ping=True)
93
93
 
94
94
  @staticmethod
95
95
  def parse_dialect(value: str | SQLDialect) -> SQLDialect:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: al-data-utils
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: Reusable utilities for data engineering (Airflow, Azure, Snowflake, SQL, config).
5
5
  Author-email: AL Data Labs <pypi@aldatalabs.com>
6
6
  License-Expression: MIT
@@ -12,6 +12,7 @@ Classifier: Topic :: Software Development :: Libraries
12
12
  Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
+ Requires-Dist: pyyaml
15
16
  Dynamic: license-file
16
17
 
17
18
  # al-data-utils
@@ -20,40 +21,31 @@ Reusable Python utilities for data and automation workflows.
20
21
 
21
22
  This repository contains independent utility modules for sync operations, git automation, SQL work, logging helpers, and MSSQL schema snapshot generation.
22
23
 
23
- ## Python and Setup
24
-
25
- - Python: 3.10+
26
- - Packaging: setuptools (src layout)
27
-
28
- Install locally in editable mode:
24
+ ## Install
29
25
 
30
26
  ```bash
31
- pip install -e .
27
+ pip install al-data-utils
32
28
  ```
33
29
 
34
- ## Project Structure
35
-
36
- - src/al_data_utils
37
- - examples
38
- - development_guides
39
- - tools
30
+ Python 3.10+. Runtime dependencies (`pyyaml`, `sqlalchemy`, `pandas`, `requests`, `msal`, ...) are expected from the host environment, typically an Airflow image.
40
31
 
41
- Main utility groups under src/al_data_utils:
32
+ ## Modules
42
33
 
43
- - airflow_utils
44
- - backup_utils
45
- - config_utils
46
- - files_sync_utils
47
- - geo_utils
48
- - git_utils
49
- - logging_utils
50
- - ones_api_utils
51
- - sql_utils
52
- - tg_utils
34
+ - `airflow_utils` - Airflow Variable / connection helpers
35
+ - `azure_as_utils` - Azure Analysis Services model refresh (REST + MSAL)
36
+ - `backup_utils` - MSSQL schema snapshot to filesystem
37
+ - `config_utils` - YAML config loading
38
+ - `files_sync_utils` - folder inventory, sync plan, copy, retention
39
+ - `geo_utils` - geo helpers
40
+ - `git_utils` - git automation wrappers
41
+ - `logging_utils` - unified logging
42
+ - `ones_api_utils` - 1C/ОneS API client
43
+ - `sql_utils` - `UnifiedSQLClient` (MSSQL / PostgreSQL / Snowflake via SQLAlchemy)
44
+ - `tg_utils` - Telegram helpers
53
45
 
54
46
  ## Examples
55
47
 
56
- Runnable examples are available in the `examples` folder for the main utility groups.
48
+ Runnable examples are available in the `examples` folder of the repository for the main utility groups.
57
49
  Use them as reference implementations for local scripts and automation jobs.
58
50
 
59
51
  ## MSSQL Schema Snapshot
@@ -145,13 +137,6 @@ Notes:
145
137
 
146
138
  `git_utils` wraps common git automation operations with consistent behavior and error handling.
147
139
 
148
- ## Development Guides
149
-
150
- - development_guides/dev_guide.txt
151
- - development_guides/auth_key_guide.txt
152
-
153
- These guides contain release flow notes and auth-related instructions.
154
-
155
140
  ## Changelog
156
141
 
157
- See CHANGELOG.md for release notes.
142
+ See `CHANGELOG.md` in the repository for release notes.
@@ -5,6 +5,7 @@ src/al_data_utils/__init__.py
5
5
  src/al_data_utils.egg-info/PKG-INFO
6
6
  src/al_data_utils.egg-info/SOURCES.txt
7
7
  src/al_data_utils.egg-info/dependency_links.txt
8
+ src/al_data_utils.egg-info/requires.txt
8
9
  src/al_data_utils.egg-info/top_level.txt
9
10
  src/al_data_utils/airflow_utils/__init__.py
10
11
  src/al_data_utils/airflow_utils/airflow_utils.py
File without changes
File without changes