LoopStructural 1.9.0__tar.gz → 1.11.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 (128) hide show
  1. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/builders/_geological_feature_builder.py +4 -0
  2. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural.egg-info/PKG-INFO +5 -3
  3. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural.egg-info/requires.txt +5 -2
  4. {loopstructural-1.9.0 → loopstructural-1.11.0}/PKG-INFO +5 -3
  5. {loopstructural-1.9.0 → loopstructural-1.11.0}/pyproject.toml +10 -3
  6. {loopstructural-1.9.0 → loopstructural-1.11.0}/LICENSE +0 -0
  7. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/__init__.py +0 -0
  8. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/__init__.py +0 -0
  9. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/_base.py +0 -0
  10. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/_example_models.py +0 -0
  11. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/claudius.csv +0 -0
  12. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/claudiusbb.txt +0 -0
  13. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/duplex.csv +0 -0
  14. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/duplexbb.txt +0 -0
  15. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/fault_trace/fault_trace.cpg +0 -0
  16. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/fault_trace/fault_trace.dbf +0 -0
  17. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/fault_trace/fault_trace.prj +0 -0
  18. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/fault_trace/fault_trace.shp +0 -0
  19. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/fault_trace/fault_trace.shx +0 -0
  20. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/geological_map_data/bbox.csv +0 -0
  21. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/geological_map_data/contacts.csv +0 -0
  22. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/geological_map_data/fault_displacement.csv +0 -0
  23. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/geological_map_data/fault_edges.txt +0 -0
  24. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/geological_map_data/fault_locations.csv +0 -0
  25. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/geological_map_data/fault_orientations.csv +0 -0
  26. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/geological_map_data/stratigraphic_order.csv +0 -0
  27. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/geological_map_data/stratigraphic_orientations.csv +0 -0
  28. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/geological_map_data/stratigraphic_thickness.csv +0 -0
  29. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/intrusion.csv +0 -0
  30. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/intrusionbb.txt +0 -0
  31. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/onefoldbb.txt +0 -0
  32. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/onefolddata.csv +0 -0
  33. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/refolded_bb.txt +0 -0
  34. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/refolded_fold.csv +0 -0
  35. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datasets/data/tabular_intrusion.csv +0 -0
  36. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/datatypes/__init__.py +0 -0
  37. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/export/exporters.py +0 -0
  38. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/export/file_formats.py +0 -0
  39. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/export/geoh5.py +0 -0
  40. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/export/gocad.py +0 -0
  41. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/export/omf_wrapper.py +0 -0
  42. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/geometry/__init__.py +0 -0
  43. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/geometry/_structured_grid.py +0 -0
  44. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/interpolators/__init__.py +0 -0
  45. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/interpolators/_api.py +0 -0
  46. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/interpolators/_builders.py +0 -0
  47. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/interpolators/_constant_norm.py +0 -0
  48. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/interpolators/_cython/__init__.py +0 -0
  49. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/interpolators/_discrete_fold_interpolator.py +0 -0
  50. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/interpolators/_interpolatortype.py +0 -0
  51. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/__init__.py +0 -0
  52. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/core/__init__.py +0 -0
  53. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/core/_feature_registry.py +0 -0
  54. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/core/_model_exporter.py +0 -0
  55. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/core/_model_feature_factory.py +0 -0
  56. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/core/_model_relationships.py +0 -0
  57. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/core/_model_serializer.py +0 -0
  58. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/core/fault_topology.py +0 -0
  59. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/core/geological_model.py +0 -0
  60. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/core/stratigraphic_column.py +0 -0
  61. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/__init__.py +0 -0
  62. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_analytical_feature.py +0 -0
  63. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_base_geological_feature.py +0 -0
  64. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_cross_product_geological_feature.py +0 -0
  65. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_feature_converters.py +0 -0
  66. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_geological_feature.py +0 -0
  67. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_lambda_geological_feature.py +0 -0
  68. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_projected_vector_feature.py +0 -0
  69. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_region.py +0 -0
  70. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_structural_frame.py +0 -0
  71. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/_unconformity_feature.py +0 -0
  72. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/builders/__init__.py +0 -0
  73. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/builders/_analytical_fold_builder.py +0 -0
  74. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/builders/_base_builder.py +0 -0
  75. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/builders/_fault_builder.py +0 -0
  76. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/builders/_folded_feature_builder.py +0 -0
  77. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/builders/_structural_frame_builder.py +0 -0
  78. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fault/__init__.py +0 -0
  79. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fault/_fault_function.py +0 -0
  80. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fault/_fault_function_feature.py +0 -0
  81. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fault/_fault_segment.py +0 -0
  82. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/__init__.py +0 -0
  83. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/_fold.py +0 -0
  84. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/_fold_rotation_angle_feature.py +0 -0
  85. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/_foldframe.py +0 -0
  86. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/_svariogram.py +0 -0
  87. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/fold_function/__init__.py +0 -0
  88. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/fold_function/_base_fold_rotation_angle.py +0 -0
  89. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/fold_function/_fourier_series_fold_rotation_angle.py +0 -0
  90. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/fold_function/_lambda_fold_rotation_angle.py +0 -0
  91. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/features/fold/fold_function/_trigo_fold_rotation_angle.py +0 -0
  92. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/input/__init__.py +0 -0
  93. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/input/fault_network.py +0 -0
  94. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/input/map2loop_processor.py +0 -0
  95. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/input/process_data.py +0 -0
  96. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/input/project_file.py +0 -0
  97. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/intrusions/__init__.py +0 -0
  98. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/intrusions/geom_conceptual_models.py +0 -0
  99. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/intrusions/geometric_scaling_functions.py +0 -0
  100. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/intrusions/intrusion_builder.py +0 -0
  101. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/intrusions/intrusion_feature.py +0 -0
  102. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/intrusions/intrusion_frame.py +0 -0
  103. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/modelling/intrusions/intrusion_frame_builder.py +0 -0
  104. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/__init__.py +0 -0
  105. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/_api_registry.py +0 -0
  106. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/_surface.py +0 -0
  107. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/_transformation.py +0 -0
  108. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/colours.py +0 -0
  109. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/config.py +0 -0
  110. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/dtm_creator.py +0 -0
  111. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/exceptions.py +0 -0
  112. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/features.py +0 -0
  113. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/helper.py +0 -0
  114. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/json_encoder.py +0 -0
  115. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/linalg.py +0 -0
  116. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/logging.py +0 -0
  117. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/maths.py +0 -0
  118. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/observer.py +0 -0
  119. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/regions.py +0 -0
  120. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/typing.py +0 -0
  121. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/utils/utils.py +0 -0
  122. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural/visualisation/__init__.py +0 -0
  123. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural.egg-info/SOURCES.txt +0 -0
  124. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural.egg-info/dependency_links.txt +0 -0
  125. {loopstructural-1.9.0 → loopstructural-1.11.0}/LoopStructural.egg-info/top_level.txt +0 -0
  126. {loopstructural-1.9.0 → loopstructural-1.11.0}/README.md +0 -0
  127. {loopstructural-1.9.0 → loopstructural-1.11.0}/setup.cfg +0 -0
  128. {loopstructural-1.9.0 → loopstructural-1.11.0}/setup.py +0 -0
@@ -554,6 +554,10 @@ class GeologicalFeatureBuilder(BaseBuilder):
554
554
 
555
555
  self.interpolator.support.maximum = newmax
556
556
  self.interpolator.set_region(region=region)
557
+ # The interpolator must know the solver before setup: with
558
+ # solver="native" the setup builds no sparse rows in Python.
559
+ if kwargs.get('solver') is not None:
560
+ self.interpolator.solver = kwargs['solver']
557
561
  logger.info(f'Setting up interpolator for {self.name}')
558
562
  self.interpolator.setup_interpolator(**kwargs)
559
563
  logger.info(f'installing gradient constraints {self.name}')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: LoopStructural
3
- Version: 1.9.0
3
+ Version: 1.11.0
4
4
  Summary: 3D geological modelling
5
5
  Author-email: Lachlan Grose <lachlan.grose@monash.edu>
6
6
  License: MIT
@@ -23,8 +23,8 @@ Classifier: Programming Language :: Python :: 3.12
23
23
  Requires-Python: >=3.9
24
24
  Description-Content-Type: text/markdown
25
25
  License-File: LICENSE
26
- Requires-Dist: loop-common<0.1.0,>=0.0.1
27
- Requires-Dist: loop-interpolation<0.1.0,>=0.0.1
26
+ Requires-Dist: loop-common<0.2.0,>=0.1.0
27
+ Requires-Dist: loop-interpolation<0.3.0,>=0.2.0
28
28
  Requires-Dist: numpy>=1.18
29
29
  Requires-Dist: pandas
30
30
  Requires-Dist: scipy
@@ -45,6 +45,8 @@ Provides-Extra: jupyter
45
45
  Requires-Dist: pyvista[all]; extra == "jupyter"
46
46
  Provides-Extra: inequalities
47
47
  Requires-Dist: loopsolver; extra == "inequalities"
48
+ Provides-Extra: native
49
+ Requires-Dist: loop-interpolation[native]; extra == "native"
48
50
  Provides-Extra: tests
49
51
  Requires-Dist: pytest; extra == "tests"
50
52
  Provides-Extra: dev
@@ -1,5 +1,5 @@
1
- loop-common<0.1.0,>=0.0.1
2
- loop-interpolation<0.1.0,>=0.0.1
1
+ loop-common<0.2.0,>=0.1.0
2
+ loop-interpolation<0.3.0,>=0.2.0
3
3
  numpy>=1.18
4
4
  pandas
5
5
  scipy
@@ -41,6 +41,9 @@ loopsolver
41
41
  [jupyter]
42
42
  pyvista[all]
43
43
 
44
+ [native]
45
+ loop-interpolation[native]
46
+
44
47
  [tests]
45
48
  pytest
46
49
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: LoopStructural
3
- Version: 1.9.0
3
+ Version: 1.11.0
4
4
  Summary: 3D geological modelling
5
5
  Author-email: Lachlan Grose <lachlan.grose@monash.edu>
6
6
  License: MIT
@@ -23,8 +23,8 @@ Classifier: Programming Language :: Python :: 3.12
23
23
  Requires-Python: >=3.9
24
24
  Description-Content-Type: text/markdown
25
25
  License-File: LICENSE
26
- Requires-Dist: loop-common<0.1.0,>=0.0.1
27
- Requires-Dist: loop-interpolation<0.1.0,>=0.0.1
26
+ Requires-Dist: loop-common<0.2.0,>=0.1.0
27
+ Requires-Dist: loop-interpolation<0.3.0,>=0.2.0
28
28
  Requires-Dist: numpy>=1.18
29
29
  Requires-Dist: pandas
30
30
  Requires-Dist: scipy
@@ -45,6 +45,8 @@ Provides-Extra: jupyter
45
45
  Requires-Dist: pyvista[all]; extra == "jupyter"
46
46
  Provides-Extra: inequalities
47
47
  Requires-Dist: loopsolver; extra == "inequalities"
48
+ Provides-Extra: native
49
+ Requires-Dist: loop-interpolation[native]; extra == "native"
48
50
  Provides-Extra: tests
49
51
  Requires-Dist: pytest; extra == "tests"
50
52
  Provides-Extra: dev
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'LoopStructural'
7
- version = "1.9.0"
7
+ version = "1.11.0"
8
8
  description = '3D geological modelling'
9
9
  authors = [{ name = 'Lachlan Grose', email = 'lachlan.grose@monash.edu' }]
10
10
  readme = 'README.md'
@@ -33,8 +33,8 @@ classifiers = [
33
33
  'Programming Language :: Python :: 3.12',
34
34
  ]
35
35
  dependencies = [
36
- "loop-common>=0.0.1,<0.1.0",
37
- "loop-interpolation>=0.0.1,<0.1.0",
36
+ "loop-common>=0.1.0,<0.2.0",
37
+ "loop-interpolation>=0.2.0,<0.3.0",
38
38
  "numpy>=1.18",
39
39
  "pandas",
40
40
  "scipy",
@@ -48,6 +48,8 @@ visualisation = ["matplotlib", "pyvista", "loopstructuralvisualisation>=0.1.14"]
48
48
  export = ["geoh5py", "pyevtk", "dill"]
49
49
  jupyter = ["pyvista[all]"]
50
50
  inequalities = ["loopsolver"]
51
+ # the Rust solver: solver='native'
52
+ native = ["loop-interpolation[native]"]
51
53
  tests = ['pytest']
52
54
  dev = ['ruff']
53
55
  docs = [
@@ -86,6 +88,7 @@ LoopStructural = [
86
88
 
87
89
  [tool.uv.workspace]
88
90
  members = ["packages/*"]
91
+ exclude = ["packages/loop_interpolation_core"]
89
92
 
90
93
  [tool.uv.sources]
91
94
  loop-common = { workspace = true }
@@ -93,6 +96,10 @@ loop-interpolation = { workspace = true }
93
96
  loopstructuralvisualisation = { workspace = true }
94
97
  map2loop = { workspace = true }
95
98
  LoopStructural = { workspace = true }
99
+ # The Rust core is not a workspace member (it builds with maturin), but the
100
+ # extra loop-interpolation[native] needs a source so that uv can lock it.
101
+ # uv reads its static metadata. It builds the core only when the extra is used.
102
+ loop-interpolation-core = { path = "packages/loop_interpolation_core" }
96
103
 
97
104
  [tool.pytest.ini_options]
98
105
  addopts = "--import-mode=importlib"
File without changes
File without changes