dsgrid-toolkit 0.3.0__tar.gz → 0.3.2__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 (159) hide show
  1. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/PKG-INFO +1 -1
  2. dsgrid_toolkit-0.3.2/build_backend.py +81 -0
  3. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/__init__.py +1 -1
  4. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/pyproject.toml +1 -0
  5. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/rust/Cargo.lock +25 -25
  6. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/rust/Cargo.toml +1 -1
  7. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/LICENSE +0 -0
  8. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/README.md +0 -0
  9. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/api/__init__.py +0 -0
  10. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/api/api_manager.py +0 -0
  11. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/api/app.py +0 -0
  12. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/api/models.py +0 -0
  13. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/api/response_models.py +0 -0
  14. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/apps/__init__.py +0 -0
  15. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/apps/project_viewer/app.py +0 -0
  16. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/apps/registration_gui.py +0 -0
  17. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/chronify.py +0 -0
  18. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cli/__init__.py +0 -0
  19. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cli/common.py +0 -0
  20. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cli/config.py +0 -0
  21. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cli/download.py +0 -0
  22. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cli/dsgrid.py +0 -0
  23. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cli/dsgrid_admin.py +0 -0
  24. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cli/install_notebooks.py +0 -0
  25. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cli/query.py +0 -0
  26. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cli/registry.py +0 -0
  27. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cloud/__init__.py +0 -0
  28. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cloud/cloud_storage_interface.py +0 -0
  29. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cloud/factory.py +0 -0
  30. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cloud/fake_storage_interface.py +0 -0
  31. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/cloud/s3_storage_interface.py +0 -0
  32. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/common.py +0 -0
  33. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/__init__.py +0 -0
  34. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/annual_time_dimension_config.py +0 -0
  35. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/common.py +0 -0
  36. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/config_base.py +0 -0
  37. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/dataset_config.py +0 -0
  38. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/dataset_schema_handler_factory.py +0 -0
  39. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/date_time_dimension_config.py +0 -0
  40. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/dimension_config.py +0 -0
  41. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/dimension_config_factory.py +0 -0
  42. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/dimension_mapping_base.py +0 -0
  43. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/dimension_mappings_config.py +0 -0
  44. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/dimensions.py +0 -0
  45. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/dimensions_config.py +0 -0
  46. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/file_schema.py +0 -0
  47. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/index_time_dimension_config.py +0 -0
  48. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/input_dataset_requirements.py +0 -0
  49. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/mapping_tables.py +0 -0
  50. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/noop_time_dimension_config.py +0 -0
  51. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/project_config.py +0 -0
  52. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/registration_models.py +0 -0
  53. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/representative_period_time_dimension_config.py +0 -0
  54. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/simple_models.py +0 -0
  55. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/supplemental_dimension.py +0 -0
  56. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/config/time_dimension_base_config.py +0 -0
  57. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/data_models.py +0 -0
  58. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/__init__.py +0 -0
  59. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/dataset.py +0 -0
  60. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/dataset_expression_handler.py +0 -0
  61. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/dataset_mapping_manager.py +0 -0
  62. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/dataset_schema_handler_base.py +0 -0
  63. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/dataset_schema_handler_one_table.py +0 -0
  64. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/dataset_schema_handler_two_table.py +0 -0
  65. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/growth_rates.py +0 -0
  66. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/models.py +0 -0
  67. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/table_format_handler_base.py +0 -0
  68. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/table_format_handler_factory.py +0 -0
  69. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dataset/unpivoted_table.py +0 -0
  70. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dimension/__init__.py +0 -0
  71. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dimension/base_models.py +0 -0
  72. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dimension/dimension_filters.py +0 -0
  73. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dimension/standard.py +0 -0
  74. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dimension/time.py +0 -0
  75. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dimension/time_utils.py +0 -0
  76. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/dsgrid_rc.py +0 -0
  77. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/exceptions.py +0 -0
  78. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/filesystem/__init__.py +0 -0
  79. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/filesystem/cloud_filesystem.py +0 -0
  80. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/filesystem/factory.py +0 -0
  81. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/filesystem/filesystem_interface.py +0 -0
  82. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/filesystem/local_filesystem.py +0 -0
  83. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/filesystem/s3_filesystem.py +0 -0
  84. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/loggers.py +0 -0
  85. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/notebooks/connect_to_dsgrid_registry.ipynb +0 -0
  86. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/notebooks/registration.ipynb +0 -0
  87. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/notebooks/start_notebook.sh +0 -0
  88. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/project.py +0 -0
  89. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/query/__init__.py +0 -0
  90. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/query/dataset_mapping_plan.py +0 -0
  91. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/query/derived_dataset.py +0 -0
  92. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/query/models.py +0 -0
  93. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/query/query_context.py +0 -0
  94. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/query/query_submitter.py +0 -0
  95. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/query/report_factory.py +0 -0
  96. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/query/report_peak_load.py +0 -0
  97. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/query/reports_base.py +0 -0
  98. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/__init__.py +0 -0
  99. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/bulk_register.py +0 -0
  100. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/common.py +0 -0
  101. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/config_update_checker_base.py +0 -0
  102. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/data_store_factory.py +0 -0
  103. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/data_store_interface.py +0 -0
  104. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/dataset_config_generator.py +0 -0
  105. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/dataset_registry_manager.py +0 -0
  106. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/dataset_update_checker.py +0 -0
  107. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/dimension_mapping_registry_manager.py +0 -0
  108. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/dimension_mapping_update_checker.py +0 -0
  109. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/dimension_registry_manager.py +0 -0
  110. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/dimension_update_checker.py +0 -0
  111. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/duckdb_data_store.py +0 -0
  112. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/filesystem_data_store.py +0 -0
  113. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/filter_registry_manager.py +0 -0
  114. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/project_config_generator.py +0 -0
  115. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/project_registry_manager.py +0 -0
  116. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/project_update_checker.py +0 -0
  117. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/registration_context.py +0 -0
  118. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/registry_auto_updater.py +0 -0
  119. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/registry_database.py +0 -0
  120. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/registry_interface.py +0 -0
  121. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/registry_manager.py +0 -0
  122. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/registry_manager_base.py +0 -0
  123. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/registry/versioning.py +0 -0
  124. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/rust_ext/__init__.py +0 -0
  125. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/rust_ext/find_minimal_patterns.py +0 -0
  126. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/spark/__init__.py +0 -0
  127. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/spark/functions.py +0 -0
  128. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/spark/types.py +0 -0
  129. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/tests/__init__.py +0 -0
  130. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/tests/common.py +0 -0
  131. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/tests/make_us_data_registry.py +0 -0
  132. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/tests/register_derived_datasets.py +0 -0
  133. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/tests/utils.py +0 -0
  134. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/time/__init__.py +0 -0
  135. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/time/time_conversions.py +0 -0
  136. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/time/types.py +0 -0
  137. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/units/__init__.py +0 -0
  138. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/units/constants.py +0 -0
  139. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/units/convert.py +0 -0
  140. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/units/energy.py +0 -0
  141. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/units/power.py +0 -0
  142. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/__init__.py +0 -0
  143. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/dataset.py +0 -0
  144. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/files.py +0 -0
  145. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/filters.py +0 -0
  146. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/id_remappings.py +0 -0
  147. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/py_expression_eval/LICENSE +0 -0
  148. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/py_expression_eval/README.md +0 -0
  149. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/py_expression_eval/__init__.py +0 -0
  150. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/py_expression_eval/tests.py +0 -0
  151. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/run_command.py +0 -0
  152. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/scratch_dir_context.py +0 -0
  153. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/spark.py +0 -0
  154. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/spark_partition.py +0 -0
  155. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/timing.py +0 -0
  156. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/utilities.py +0 -0
  157. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/dsgrid/utils/versioning.py +0 -0
  158. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/rust/README.md +0 -0
  159. {dsgrid_toolkit-0.3.0 → dsgrid_toolkit-0.3.2}/rust/src/lib.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dsgrid-toolkit
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Intended Audience :: Science/Research
6
6
  Classifier: License :: OSI Approved :: BSD License
@@ -0,0 +1,81 @@
1
+ """Custom build backend that wraps maturin but allows fallback when Rust is unavailable.
2
+
3
+ This allows `pip install -e .` to succeed even without a Rust toolchain installed,
4
+ while still building the Rust extension when building wheels for distribution.
5
+ """
6
+
7
+ import shutil
8
+ import sys
9
+ import warnings
10
+
11
+ # Check if Rust toolchain is available
12
+ RUST_AVAILABLE = shutil.which("cargo") is not None
13
+
14
+
15
+ def _warn_no_rust():
16
+ """Warn that Rust extension will not be built."""
17
+ msg = (
18
+ "Rust toolchain (cargo) not found. The dsgrid Rust extension (minimal_patterns) "
19
+ "will not be built. Some functionality will be unavailable. "
20
+ "To build the Rust extension, install Rust from https://rustup.rs/"
21
+ )
22
+ # Use warnings module - this is typically shown by pip
23
+ warnings.warn(msg, UserWarning, stacklevel=2)
24
+ # Also print directly to stderr for visibility
25
+ print(f"\n{'='*70}", file=sys.stderr)
26
+ print("WARNING: Rust toolchain not found.", file=sys.stderr)
27
+ print("Building dsgrid without Rust extension (minimal_patterns).", file=sys.stderr)
28
+ print("Some functionality will be unavailable.", file=sys.stderr)
29
+ print(f"{'='*70}\n", file=sys.stderr)
30
+ # Flush to ensure it appears
31
+ sys.stderr.flush()
32
+
33
+
34
+ # For wheel builds (CI), always use maturin
35
+ def build_wheel(wheel_directory, config_settings=None, metadata_directory=None):
36
+ """Build wheel - requires Rust for distribution builds."""
37
+ import maturin
38
+
39
+ return maturin.build_wheel(wheel_directory, config_settings, metadata_directory)
40
+
41
+
42
+ def build_sdist(sdist_directory, config_settings=None):
43
+ """Build source distribution."""
44
+ import maturin
45
+
46
+ return maturin.build_sdist(sdist_directory, config_settings)
47
+
48
+
49
+ def get_requires_for_build_wheel(config_settings=None):
50
+ """Get requirements for building wheel."""
51
+ return ["maturin>=1.0,<2.0"]
52
+
53
+
54
+ def get_requires_for_build_sdist(config_settings=None):
55
+ """Get requirements for building sdist."""
56
+ return ["maturin>=1.0,<2.0"]
57
+
58
+
59
+ # For editable installs, allow fallback without Rust
60
+ def build_editable(wheel_directory, config_settings=None, metadata_directory=None):
61
+ """Build editable install - can work without Rust."""
62
+ if RUST_AVAILABLE:
63
+ import maturin
64
+
65
+ return maturin.build_editable(wheel_directory, config_settings, metadata_directory)
66
+ else:
67
+ _warn_no_rust()
68
+ # Fall back to setuptools for editable install without Rust extension
69
+ import setuptools.build_meta
70
+
71
+ return setuptools.build_meta.build_editable(
72
+ wheel_directory, config_settings, metadata_directory
73
+ )
74
+
75
+
76
+ def get_requires_for_build_editable(config_settings=None):
77
+ """Get requirements for editable install."""
78
+ if RUST_AVAILABLE:
79
+ return ["maturin>=1.0,<2.0"]
80
+ else:
81
+ return ["setuptools>=61.0"]
@@ -9,7 +9,7 @@ __description__ = (
9
9
  "Python API for registring and accessing demand-side grid model (dsgrid) datasets"
10
10
  )
11
11
  __url__ = "https://github.com/dsgrid/dsgrid"
12
- __version__ = "0.3.0"
12
+ __version__ = "0.3.2"
13
13
  __author__ = "NREL"
14
14
  __maintainer_email__ = "elaine.hale@nrel.gov"
15
15
  __license__ = "BSD-3"
@@ -61,6 +61,7 @@ module-name = "dsgrid.minimal_patterns"
61
61
  python-source = "."
62
62
  features = ["pyo3/extension-module"]
63
63
  manifest-path = "rust/Cargo.toml"
64
+ include = ["build_backend.py"]
64
65
 
65
66
  [tool.setuptools]
66
67
  # Used as fallback when Rust toolchain is not available
@@ -185,9 +185,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
185
185
 
186
186
  [[package]]
187
187
  name = "cc"
188
- version = "1.2.52"
188
+ version = "1.2.53"
189
189
  source = "registry+https://github.com/rust-lang/crates.io-index"
190
- checksum = "cd4932aefd12402b36c60956a4fe0035421f544799057659ff86f923657aada3"
190
+ checksum = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932"
191
191
  dependencies = [
192
192
  "find-msvc-tools",
193
193
  "jobserver",
@@ -203,9 +203,9 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
203
203
 
204
204
  [[package]]
205
205
  name = "chrono"
206
- version = "0.4.42"
206
+ version = "0.4.43"
207
207
  source = "registry+https://github.com/rust-lang/crates.io-index"
208
- checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
208
+ checksum = "fac4744fb15ae8337dc853fee7fb3f4e48c0fbaa23d0afe49c447b4fab126118"
209
209
  dependencies = [
210
210
  "num-traits",
211
211
  ]
@@ -246,7 +246,7 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
246
246
 
247
247
  [[package]]
248
248
  name = "dsgrid-patterns"
249
- version = "0.3.0"
249
+ version = "0.3.2"
250
250
  dependencies = [
251
251
  "ahash",
252
252
  "anyhow",
@@ -283,9 +283,9 @@ checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
283
283
 
284
284
  [[package]]
285
285
  name = "find-msvc-tools"
286
- version = "0.1.7"
286
+ version = "0.1.8"
287
287
  source = "registry+https://github.com/rust-lang/crates.io-index"
288
- checksum = "f449e6c6c08c865631d4890cfacf252b3d396c9bcc83adb6623cdb02a8336c41"
288
+ checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db"
289
289
 
290
290
  [[package]]
291
291
  name = "flate2"
@@ -459,9 +459,9 @@ dependencies = [
459
459
 
460
460
  [[package]]
461
461
  name = "js-sys"
462
- version = "0.3.83"
462
+ version = "0.3.85"
463
463
  source = "registry+https://github.com/rust-lang/crates.io-index"
464
- checksum = "464a3709c7f55f1f721e5389aa6ea4e3bc6aba669353300af094b29ffbdde1d8"
464
+ checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3"
465
465
  dependencies = [
466
466
  "once_cell",
467
467
  "wasm-bindgen",
@@ -596,9 +596,9 @@ checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950"
596
596
 
597
597
  [[package]]
598
598
  name = "proc-macro2"
599
- version = "1.0.105"
599
+ version = "1.0.106"
600
600
  source = "registry+https://github.com/rust-lang/crates.io-index"
601
- checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7"
601
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
602
602
  dependencies = [
603
603
  "unicode-ident",
604
604
  ]
@@ -668,9 +668,9 @@ dependencies = [
668
668
 
669
669
  [[package]]
670
670
  name = "quote"
671
- version = "1.0.43"
671
+ version = "1.0.44"
672
672
  source = "registry+https://github.com/rust-lang/crates.io-index"
673
- checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a"
673
+ checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
674
674
  dependencies = [
675
675
  "proc-macro2",
676
676
  ]
@@ -856,18 +856,18 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
856
856
 
857
857
  [[package]]
858
858
  name = "wasip2"
859
- version = "1.0.1+wasi-0.2.4"
859
+ version = "1.0.2+wasi-0.2.9"
860
860
  source = "registry+https://github.com/rust-lang/crates.io-index"
861
- checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7"
861
+ checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
862
862
  dependencies = [
863
863
  "wit-bindgen",
864
864
  ]
865
865
 
866
866
  [[package]]
867
867
  name = "wasm-bindgen"
868
- version = "0.2.106"
868
+ version = "0.2.108"
869
869
  source = "registry+https://github.com/rust-lang/crates.io-index"
870
- checksum = "0d759f433fa64a2d763d1340820e46e111a7a5ab75f993d1852d70b03dbb80fd"
870
+ checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566"
871
871
  dependencies = [
872
872
  "cfg-if",
873
873
  "once_cell",
@@ -878,9 +878,9 @@ dependencies = [
878
878
 
879
879
  [[package]]
880
880
  name = "wasm-bindgen-macro"
881
- version = "0.2.106"
881
+ version = "0.2.108"
882
882
  source = "registry+https://github.com/rust-lang/crates.io-index"
883
- checksum = "48cb0d2638f8baedbc542ed444afc0644a29166f1595371af4fecf8ce1e7eeb3"
883
+ checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608"
884
884
  dependencies = [
885
885
  "quote",
886
886
  "wasm-bindgen-macro-support",
@@ -888,9 +888,9 @@ dependencies = [
888
888
 
889
889
  [[package]]
890
890
  name = "wasm-bindgen-macro-support"
891
- version = "0.2.106"
891
+ version = "0.2.108"
892
892
  source = "registry+https://github.com/rust-lang/crates.io-index"
893
- checksum = "cefb59d5cd5f92d9dcf80e4683949f15ca4b511f4ac0a6e14d4e1ac60c6ecd40"
893
+ checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55"
894
894
  dependencies = [
895
895
  "bumpalo",
896
896
  "proc-macro2",
@@ -901,18 +901,18 @@ dependencies = [
901
901
 
902
902
  [[package]]
903
903
  name = "wasm-bindgen-shared"
904
- version = "0.2.106"
904
+ version = "0.2.108"
905
905
  source = "registry+https://github.com/rust-lang/crates.io-index"
906
- checksum = "cbc538057e648b67f72a982e708d485b2efa771e1ac05fec311f9f63e5800db4"
906
+ checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12"
907
907
  dependencies = [
908
908
  "unicode-ident",
909
909
  ]
910
910
 
911
911
  [[package]]
912
912
  name = "wit-bindgen"
913
- version = "0.46.0"
913
+ version = "0.51.0"
914
914
  source = "registry+https://github.com/rust-lang/crates.io-index"
915
- checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
915
+ checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
916
916
 
917
917
  [[package]]
918
918
  name = "xxhash-rust"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "dsgrid-patterns"
3
- version = "0.3.0"
3
+ version = "0.3.2"
4
4
  edition = "2021"
5
5
  readme = "README.md"
6
6
 
File without changes
File without changes