sibi-flux 2026.1.3__tar.gz → 2026.1.5__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.
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/PKG-INFO +4 -4
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/README.md +3 -3
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/pyproject.toml +2 -2
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/config/settings.py +21 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/field_factory.py +1 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/router.py +5 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_validator/_df_validator.py +1 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_dst/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/base.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/parquet.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/parquet_engine/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/parquet_engine/executor.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/parquet_engine/manifest.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/parquet_engine/planner.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/cli.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/config/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/config/manager.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/core/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/core/managed_resource/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/core/managed_resource/_managed_resource.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/core/type_maps/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/dask_cluster/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/dask_cluster/async_core.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/dask_cluster/client_manager.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/dask_cluster/core.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/dask_cluster/exceptions.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/dask_cluster/utils.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/_data_cube.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/cli.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/config_engine.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/field_mapper.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/field_registry.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/generator.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/datacube/orchestrator.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/dataset/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/dataset/_dataset.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/dataset/hybrid_loader.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_enricher/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_enricher/async_enricher.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_enricher/attacher.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_enricher/merger.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_enricher/specs.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_enricher/types.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/_df_helper.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/_params.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/_strategies.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/http/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/http/_http_config.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/parquet/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/parquet/_parquet_options.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/sqlalchemy/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/sqlalchemy/_db_connection.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/sqlalchemy/_db_gatekeeper.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/sqlalchemy/_io_dask.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/sqlalchemy/_load_from_db.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/sqlalchemy/_model_registry.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/sqlalchemy/_sql_model_builder.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/utils.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/core/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/core/_defaults.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/core/_filter_handler.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/core/_params_config.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/core/_query_config.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_validator/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/core.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/discovery_updater.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/env.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/env_engine.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/env_generator.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/rule_generator.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/templates/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/templates/discovery_params.yaml +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/templates/gen_dc.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/templates/property_template.yaml +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/logger/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/logger/_logger.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/mcp/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/mcp/client.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/mcp/router.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/orchestration/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/orchestration/_artifact_orchestrator.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/orchestration/_pipeline_executor.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/osmnx_helper/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/osmnx_helper/_pbf_handler.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/osmnx_helper/graph_loader.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/osmnx_helper/utils.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/parquet/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/parquet/readers/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/parquet/readers/base.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/parquet/readers/parquet.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/parquet/saver/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/parquet/saver/_parquet_saver.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/parquet/saver/_write_gatekeeper.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/pipelines/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/pipelines/base.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/pipelines/template.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/py.typed +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/readers/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/readers/base.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/storage/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/storage/_fs_registry.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/storage/_storage_manager.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/storage/factory.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/clickhouse_writer/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/clickhouse_writer/_clickhouse_writer.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/common.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/dask_utils.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/data_utils/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/data_utils/_data_utils.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/dataframe_utils.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/date_utils/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/date_utils/_business_days.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/date_utils/_date_utils.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/date_utils/_file_age_checker.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/file_utils.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/filepath_generator/__init__.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/filepath_generator/_filepath_generator.py +0 -0
- {sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/retry.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: sibi-flux
|
|
3
|
-
Version: 2026.1.
|
|
3
|
+
Version: 2026.1.5
|
|
4
4
|
Summary: Sibi Toolkit: A collection of tools for Data Analysis/Engineering.
|
|
5
5
|
Author: Luis Valverde
|
|
6
6
|
Author-email: Luis Valverde <lvalverdeb@gmail.com>
|
|
@@ -54,18 +54,18 @@ Description-Content-Type: text/markdown
|
|
|
54
54
|
|
|
55
55
|
```mermaid
|
|
56
56
|
graph TD
|
|
57
|
-
subgraph "Agentic Interface (MCP)"
|
|
57
|
+
subgraph G1["Agentic Interface (MCP)"]
|
|
58
58
|
Agent["AI Agent / Claude"] <--> Router["MCP Router"]
|
|
59
59
|
Router <--> Resources["SibiFlux Resources"]
|
|
60
60
|
end
|
|
61
61
|
|
|
62
|
-
subgraph "Solutions Layer (Business Logic)"
|
|
62
|
+
subgraph G2["Solutions Layer (Business Logic)"]
|
|
63
63
|
Logistics["Logistics Solutions"]
|
|
64
64
|
Enrichment["Enrichment Pipelines"]
|
|
65
65
|
Cubes["DataCubes"]
|
|
66
66
|
end
|
|
67
67
|
|
|
68
|
-
subgraph "SibiFlux Core Engine"
|
|
68
|
+
subgraph G3["SibiFlux Core Engine"]
|
|
69
69
|
DfHelper["DfHelper (Unified Loader)"]
|
|
70
70
|
Cluster["Resilient Dask Cluster"]
|
|
71
71
|
Managed["ManagedResource Lifecycle"]
|
|
@@ -4,18 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
```mermaid
|
|
6
6
|
graph TD
|
|
7
|
-
subgraph "Agentic Interface (MCP)"
|
|
7
|
+
subgraph G1["Agentic Interface (MCP)"]
|
|
8
8
|
Agent["AI Agent / Claude"] <--> Router["MCP Router"]
|
|
9
9
|
Router <--> Resources["SibiFlux Resources"]
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
-
subgraph "Solutions Layer (Business Logic)"
|
|
12
|
+
subgraph G2["Solutions Layer (Business Logic)"]
|
|
13
13
|
Logistics["Logistics Solutions"]
|
|
14
14
|
Enrichment["Enrichment Pipelines"]
|
|
15
15
|
Cubes["DataCubes"]
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
subgraph "SibiFlux Core Engine"
|
|
18
|
+
subgraph G3["SibiFlux Core Engine"]
|
|
19
19
|
DfHelper["DfHelper (Unified Loader)"]
|
|
20
20
|
Cluster["Resilient Dask Cluster"]
|
|
21
21
|
Managed["ManagedResource Lifecycle"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sibi-flux"
|
|
3
|
-
version = "2026.1.
|
|
3
|
+
version = "2026.1.5"
|
|
4
4
|
description = "Sibi Toolkit: A collection of tools for Data Analysis/Engineering."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
@@ -117,7 +117,7 @@ uvicorn solutions.main:app
|
|
|
117
117
|
--env-file .env.linux
|
|
118
118
|
--workers 1
|
|
119
119
|
"""
|
|
120
|
-
test = { cmd = "pytest tests/"}
|
|
120
|
+
test = { cmd = "pytest tests/", env = { SIBI_FLUX_ROUTER_INTROSPECTION = "false" } }
|
|
121
121
|
lint = "black src/"
|
|
122
122
|
build = "uv build"
|
|
123
123
|
dc-sync = "python solutions/generators/datacubes/gen_dc.py sync"
|
|
@@ -103,6 +103,27 @@ class DatabaseSettings(SibiBaseSettings):
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
|
|
106
|
+
class ClickhouseBaseSettings(SibiBaseSettings):
|
|
107
|
+
"""Base settings for ClickHouse connection."""
|
|
108
|
+
|
|
109
|
+
interface: str = "http"
|
|
110
|
+
host: str = "localhost"
|
|
111
|
+
port: int = 8123
|
|
112
|
+
database: str = "default"
|
|
113
|
+
username: str = "default"
|
|
114
|
+
password: SecretStr = SecretStr("")
|
|
115
|
+
|
|
116
|
+
def to_legacy_dict(self) -> dict[str, Any]:
|
|
117
|
+
return {
|
|
118
|
+
"interface": self.interface,
|
|
119
|
+
"host": self.host,
|
|
120
|
+
"port": self.port,
|
|
121
|
+
"database": self.database,
|
|
122
|
+
"username": self.username,
|
|
123
|
+
"password": self.password.get_secret_value() if self.password else None,
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
|
|
106
127
|
class RedisBaseSettings(SibiBaseSettings):
|
|
107
128
|
"""Base settings for Redis connection."""
|
|
108
129
|
|
|
@@ -72,6 +72,7 @@ class FieldMapFactory:
|
|
|
72
72
|
# 2. Fallback to standard locations if not found
|
|
73
73
|
if not repo_path:
|
|
74
74
|
candidates = [
|
|
75
|
+
Path("solutions/dataobjects/globals/global_field_repository.yaml"),
|
|
75
76
|
Path("dataobjects/globals/global_field_repository.yaml"),
|
|
76
77
|
Path("solutions/conf/global_field_repository.yaml"),
|
|
77
78
|
]
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
import json
|
|
3
|
+
import os
|
|
3
4
|
from contextlib import suppress
|
|
4
5
|
from collections.abc import Mapping
|
|
5
6
|
from typing import Any, Optional, Type, Sequence, List
|
|
@@ -68,6 +69,10 @@ class BaseCubeRouter:
|
|
|
68
69
|
_exclude_columns = ["id"]
|
|
69
70
|
|
|
70
71
|
try:
|
|
72
|
+
# Check if introspection is allowed via env var (default: true)
|
|
73
|
+
if os.environ.get("SIBI_FLUX_ROUTER_INTROSPECTION", "true").lower() == "false":
|
|
74
|
+
return self._fallback_create_model(_exclude_columns)
|
|
75
|
+
|
|
71
76
|
# Introspect dtypes by loading an empty slice/schema
|
|
72
77
|
# We use n_records=1 at init to hint the backend to limit query size
|
|
73
78
|
# Note: This requires the DB/Backend to be accessible at startup
|
|
@@ -75,6 +75,7 @@ class DfValidator:
|
|
|
75
75
|
"float64": "Float64[pyarrow]",
|
|
76
76
|
"string": "string[pyarrow]",
|
|
77
77
|
"timestamp[ns][pyarrow]": "datetime64[ns, UTC]",
|
|
78
|
+
"datetime64[us, UTC]": "datetime64[ns, UTC]",
|
|
78
79
|
"bool": "boolean[pyarrow]",
|
|
79
80
|
}
|
|
80
81
|
return mapping.get(dtype_str, dtype_str)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/parquet_engine/__init__.py
RENAMED
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/parquet_engine/executor.py
RENAMED
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/artifacts/parquet_engine/manifest.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/core/managed_resource/_managed_resource.py
RENAMED
|
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
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/http/_http_config.py
RENAMED
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/parquet/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/sqlalchemy/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/df_helper/backends/sqlalchemy/_io_dask.py
RENAMED
|
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
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/templates/discovery_params.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/init/templates/property_template.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/orchestration/_artifact_orchestrator.py
RENAMED
|
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
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/date_utils/_file_age_checker.py
RENAMED
|
File without changes
|
|
File without changes
|
{sibi_flux-2026.1.3 → sibi_flux-2026.1.5}/src/sibi_flux/utils/filepath_generator/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|