RSSeismicScripting 3.0.0__py3-none-any.whl

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 (94) hide show
  1. rsseismic/Application.py +196 -0
  2. rsseismic/ApplicationManager.py +111 -0
  3. rsseismic/BedrockLayer.py +29 -0
  4. rsseismic/MeanProfile.py +169 -0
  5. rsseismic/MeanProfileSoilLayer.py +119 -0
  6. rsseismic/Model.py +204 -0
  7. rsseismic/Motions.py +140 -0
  8. rsseismic/ProfileGenerationSettings.py +29 -0
  9. rsseismic/Profiles.py +186 -0
  10. rsseismic/ProjectSettings.py +46 -0
  11. rsseismic/ReferenceCurve.py +73 -0
  12. rsseismic/Results.py +419 -0
  13. rsseismic/SoilLayer.py +34 -0
  14. rsseismic/SoilLayerCurve.py +124 -0
  15. rsseismic/SoilLayerOperations.py +120 -0
  16. rsseismic/__init__.py +79 -0
  17. rsseismic/_application_paths.py +74 -0
  18. rsseismic/_batch_compute.py +420 -0
  19. rsseismic/_client.py +81 -0
  20. rsseismic/_proto_converters.py +345 -0
  21. rsseismic/_proxyObject.py +11 -0
  22. rsseismic/_result_bulk_dataframes.py +202 -0
  23. rsseismic/_result_dataframes.py +77 -0
  24. rsseismic/_rpc_helpers.py +55 -0
  25. rsseismic/enums/__init__.py +23 -0
  26. rsseismic/enums/_generated.py +120 -0
  27. rsseismic/enums/fitting_procedure.py +15 -0
  28. rsseismic/exceptions.py +11 -0
  29. rsseismic/generatedFiles/ApplicationService_pb2.py +46 -0
  30. rsseismic/generatedFiles/ApplicationService_pb2.pyi +67 -0
  31. rsseismic/generatedFiles/ApplicationService_pb2_grpc.py +274 -0
  32. rsseismic/generatedFiles/BedrockLayerDataService_pb2.py +27 -0
  33. rsseismic/generatedFiles/BedrockLayerDataService_pb2.pyi +5 -0
  34. rsseismic/generatedFiles/BedrockLayerDataService_pb2_grpc.py +231 -0
  35. rsseismic/generatedFiles/CommonMessages_pb2.py +50 -0
  36. rsseismic/generatedFiles/CommonMessages_pb2.pyi +113 -0
  37. rsseismic/generatedFiles/CommonMessages_pb2_grpc.py +29 -0
  38. rsseismic/generatedFiles/MeanProfileService_pb2.py +62 -0
  39. rsseismic/generatedFiles/MeanProfileService_pb2.pyi +176 -0
  40. rsseismic/generatedFiles/MeanProfileService_pb2_grpc.py +458 -0
  41. rsseismic/generatedFiles/MeanProfileSoilLayerDataService_pb2.py +45 -0
  42. rsseismic/generatedFiles/MeanProfileSoilLayerDataService_pb2.pyi +87 -0
  43. rsseismic/generatedFiles/MeanProfileSoilLayerDataService_pb2_grpc.py +360 -0
  44. rsseismic/generatedFiles/ModelService_pb2.py +54 -0
  45. rsseismic/generatedFiles/ModelService_pb2.pyi +122 -0
  46. rsseismic/generatedFiles/ModelService_pb2_grpc.py +360 -0
  47. rsseismic/generatedFiles/MotionService_pb2.py +78 -0
  48. rsseismic/generatedFiles/MotionService_pb2.pyi +224 -0
  49. rsseismic/generatedFiles/MotionService_pb2_grpc.py +575 -0
  50. rsseismic/generatedFiles/ProfileGenerationSettingsService_pb2.py +27 -0
  51. rsseismic/generatedFiles/ProfileGenerationSettingsService_pb2.pyi +5 -0
  52. rsseismic/generatedFiles/ProfileGenerationSettingsService_pb2_grpc.py +145 -0
  53. rsseismic/generatedFiles/ProfileService_pb2.py +76 -0
  54. rsseismic/generatedFiles/ProfileService_pb2.pyi +246 -0
  55. rsseismic/generatedFiles/ProfileService_pb2_grpc.py +532 -0
  56. rsseismic/generatedFiles/ProjectSettingsDataService_pb2.py +35 -0
  57. rsseismic/generatedFiles/ProjectSettingsDataService_pb2.pyi +40 -0
  58. rsseismic/generatedFiles/ProjectSettingsDataService_pb2_grpc.py +232 -0
  59. rsseismic/generatedFiles/ReferenceCurveDataService_pb2.py +41 -0
  60. rsseismic/generatedFiles/ReferenceCurveDataService_pb2.pyi +73 -0
  61. rsseismic/generatedFiles/ReferenceCurveDataService_pb2_grpc.py +281 -0
  62. rsseismic/generatedFiles/ResultsService_pb2.py +82 -0
  63. rsseismic/generatedFiles/ResultsService_pb2.pyi +373 -0
  64. rsseismic/generatedFiles/ResultsService_pb2_grpc.py +489 -0
  65. rsseismic/generatedFiles/SoilLayerCurveDataService_pb2.py +52 -0
  66. rsseismic/generatedFiles/SoilLayerCurveDataService_pb2.pyi +150 -0
  67. rsseismic/generatedFiles/SoilLayerCurveDataService_pb2_grpc.py +280 -0
  68. rsseismic/generatedFiles/SoilLayerDataService_pb2.py +27 -0
  69. rsseismic/generatedFiles/SoilLayerDataService_pb2.pyi +5 -0
  70. rsseismic/generatedFiles/SoilLayerDataService_pb2_grpc.py +231 -0
  71. rsseismic/generatedFiles/SoilLayerService_pb2.py +46 -0
  72. rsseismic/generatedFiles/SoilLayerService_pb2.pyi +122 -0
  73. rsseismic/generatedFiles/SoilLayerService_pb2_grpc.py +317 -0
  74. rsseismic/generatedFiles/__init__.py +4 -0
  75. rsseismic/properties/_PropertyAccessor.py +151 -0
  76. rsseismic/properties/__init__.py +6 -0
  77. rsseismic/properties/bedrockLayer/__init__.py +1 -0
  78. rsseismic/properties/bedrockLayer/_generated.py +127 -0
  79. rsseismic/properties/meanProfileSoilLayer/__init__.py +1 -0
  80. rsseismic/properties/meanProfileSoilLayer/_generated.py +87 -0
  81. rsseismic/properties/profileGenerationSettings/__init__.py +1 -0
  82. rsseismic/properties/profileGenerationSettings/_generated.py +195 -0
  83. rsseismic/properties/projectSettings/__init__.py +1 -0
  84. rsseismic/properties/projectSettings/_generated.py +270 -0
  85. rsseismic/properties/referenceCurve/__init__.py +1 -0
  86. rsseismic/properties/referenceCurve/_generated.py +264 -0
  87. rsseismic/properties/soilLayer/__init__.py +1 -0
  88. rsseismic/properties/soilLayer/_generated.py +523 -0
  89. rsseismic/types.py +311 -0
  90. rsseismicscripting-3.0.0.dist-info/METADATA +88 -0
  91. rsseismicscripting-3.0.0.dist-info/RECORD +94 -0
  92. rsseismicscripting-3.0.0.dist-info/WHEEL +5 -0
  93. rsseismicscripting-3.0.0.dist-info/licenses/License.txt +20 -0
  94. rsseismicscripting-3.0.0.dist-info/top_level.txt +1 -0
rsseismic/types.py ADDED
@@ -0,0 +1,311 @@
1
+ """Public value types for RSSeismic scripting (protobuf stays internal)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from dataclasses import dataclass
6
+ from enum import Enum
7
+ from enum import IntEnum
8
+
9
+
10
+ class UnitSystem(Enum):
11
+ """Project unit system (maps to server isMetric / useMetric RPC flags)."""
12
+
13
+ Metric = "Metric"
14
+ Imperial = "Imperial"
15
+
16
+ def to_use_metric(self) -> bool:
17
+ """Return the useMetric / isMetric flag sent on the wire."""
18
+ return self is UnitSystem.Metric
19
+
20
+ @classmethod
21
+ def from_is_metric(cls, is_metric: bool) -> UnitSystem:
22
+ return cls.Metric if is_metric else cls.Imperial
23
+
24
+ class ResultMotionType(IntEnum):
25
+ """Motion variants in the compute-aligned result motion set."""
26
+
27
+ STANDARD = 1
28
+ COMPLEMENTARY_EQUIVALENT_LINEAR = 2
29
+ COMPLEMENTARY_NONLINEAR_TOTAL_STRESS_LUMPED_MASS = 3
30
+
31
+
32
+ class ResultSeriesKind(IntEnum):
33
+ """Chart series available from computed profile results."""
34
+
35
+ ACCELERATION = 1
36
+ VELOCITY = 2
37
+ DISPLACEMENT = 3
38
+ ARIAS = 4
39
+ SHEAR_STRAIN = 5
40
+ SHEAR_STRESS_RATIO = 6
41
+ PWP_RATIO = 7
42
+ RESPONSE_SPECTRA = 8
43
+ FAS = 9
44
+ FAS_RATIO = 10
45
+ PGA = 11
46
+ PGD = 12
47
+ MAX_STRAIN = 13
48
+ MAX_STRESS = 14
49
+ MAX_PWP_RATIO = 15
50
+ EFFECTIVE_STRESS = 16
51
+ MOBILIZED_STRESS = 17
52
+ NORMALIZED_STRESS = 18
53
+ MOBILIZED_FRICTION_ANGLE = 19
54
+ EFFECTIVE_VERTICAL_STRESS = 20
55
+
56
+ @property
57
+ def requires_layer(self) -> bool:
58
+ """True when getResultSeriesDataFrame requires a layerID."""
59
+ return self in _LAYER_RESULT_SERIES
60
+
61
+
62
+ _LAYER_RESULT_SERIES = frozenset(
63
+ {
64
+ ResultSeriesKind.ACCELERATION,
65
+ ResultSeriesKind.VELOCITY,
66
+ ResultSeriesKind.DISPLACEMENT,
67
+ ResultSeriesKind.ARIAS,
68
+ ResultSeriesKind.SHEAR_STRAIN,
69
+ ResultSeriesKind.SHEAR_STRESS_RATIO,
70
+ ResultSeriesKind.PWP_RATIO,
71
+ ResultSeriesKind.RESPONSE_SPECTRA,
72
+ ResultSeriesKind.FAS,
73
+ ResultSeriesKind.FAS_RATIO,
74
+ ResultSeriesKind.EFFECTIVE_VERTICAL_STRESS
75
+ }
76
+ )
77
+
78
+
79
+ @dataclass(frozen=True)
80
+ class ProfileSummary:
81
+ """Summary of a profile in the project."""
82
+
83
+ name: str
84
+ isActive: bool
85
+ layerCount: int
86
+ totalThickness: float
87
+
88
+
89
+ @dataclass(frozen=True)
90
+ class ActiveProfile:
91
+ """Summary of the active profile."""
92
+
93
+ profileName: str
94
+ layerCount: int
95
+ totalThickness: float
96
+
97
+
98
+ @dataclass(frozen=True)
99
+ class SoilLayerSummary:
100
+ """Summary of a soil layer in a profile."""
101
+
102
+ layerID: str
103
+ index1Based: int
104
+ name: str
105
+ thickness: float
106
+
107
+
108
+ @dataclass(frozen=True)
109
+ class BedrockLayerSummary:
110
+ """Summary of the bedrock layer in a profile."""
111
+
112
+ layerID: str
113
+ name: str
114
+ thickness: float
115
+
116
+
117
+ @dataclass(frozen=True)
118
+ class DeleteProfileResult:
119
+ """Result of Profiles.deleteProfile()."""
120
+
121
+ deletedProfileName: str
122
+ activeProfileName: str
123
+
124
+
125
+ @dataclass(frozen=True)
126
+ class MotionInfo:
127
+ """Ground motion entry for a project."""
128
+
129
+ name: str
130
+ filePath: str
131
+ isSelected: bool
132
+
133
+
134
+ @dataclass(frozen=True)
135
+ class MotionPairInfo:
136
+ """Horizontal motion pair inferred from motion file naming."""
137
+
138
+ pairId: str
139
+ motionH1Name: str
140
+ motionH2Name: str
141
+ motionH1FilePath: str
142
+ motionH2FilePath: str
143
+ isSelected: bool
144
+
145
+
146
+ @dataclass(frozen=True)
147
+ class DeconvolutionLayerResultFiles:
148
+ """Deconvolution output paths for one soil layer."""
149
+
150
+ layerIndex: int
151
+ layerMotionPath: str
152
+ layerMotionExists: bool
153
+ layerFasTransferFunctionPath: str
154
+ layerFasTransferFunctionExists: bool
155
+
156
+
157
+ @dataclass(frozen=True)
158
+ class ResultLayerSummary:
159
+ """A profile layer that can be used with layer-scoped result queries."""
160
+
161
+ layerID: str
162
+ index1Based: int
163
+ name: str
164
+ isTopOfRock: bool
165
+
166
+
167
+ @dataclass(frozen=True)
168
+ class ResultMotionSummary:
169
+ """A motion name in the compute-aligned result motion set."""
170
+
171
+ motionName: str
172
+ motionType: str
173
+ sourceMotionName: str
174
+
175
+
176
+ @dataclass(frozen=True)
177
+ class ResultDatabaseInfo:
178
+ """Computed result file paths for one profile/motion pair."""
179
+
180
+ profileName: str
181
+ motionName: str
182
+ motionType: str
183
+ resultsFolderPath: str
184
+ resultDatabasePath: str
185
+ resultDatabaseExists: bool
186
+ complementaryResultDatabasePath: str
187
+ complementaryResultDatabaseExists: bool
188
+ inputFilePath: str
189
+ inputFileExists: bool
190
+ strainConvergencePath: str
191
+ strainConvergenceExists: bool
192
+ strainNonConvergenceIdPath: str
193
+ strainNonConvergenceExists: bool
194
+ deconvolutionBedrockMotionPath: str
195
+ deconvolutionBedrockMotionExists: bool
196
+ deconvolutionBedrockFasTransferFunctionPath: str
197
+ deconvolutionBedrockFasTransferFunctionExists: bool
198
+ deconvolutionLayerFiles: tuple[DeconvolutionLayerResultFiles, ...]
199
+ topOfRockOutputEnabled: bool = False
200
+ topOfRockLayerID: str = ""
201
+ topOfRockLayerIndex1Based: int = 0
202
+
203
+
204
+ @dataclass(frozen=True)
205
+ class InsertLayerResult:
206
+ """Result of inserting or duplicating a soil layer."""
207
+
208
+ profileName: str
209
+ layerID: str
210
+ index1Based: int
211
+
212
+
213
+ @dataclass(frozen=True)
214
+ class AppendLayersResult:
215
+ """Result of appending one or more soil layers."""
216
+
217
+ profileName: str
218
+ layerIDs: tuple[str, ...]
219
+
220
+
221
+ @dataclass(frozen=True)
222
+ class DeleteLayerResult:
223
+ """Result of deleting a soil layer."""
224
+
225
+ profileName: str
226
+ deletedLayerID: str
227
+
228
+
229
+ @dataclass(frozen=True)
230
+ class MoveLayerResult:
231
+ """Result of moving a soil layer."""
232
+
233
+ profileName: str
234
+ layerID: str
235
+ index1Based: int
236
+
237
+
238
+ @dataclass(frozen=True)
239
+ class GqHFittingLimits:
240
+ """Optional G/Gmax and damping limits for curve fitting."""
241
+
242
+ enableModulusMin: bool = False
243
+ modulusMin: float = 0.0
244
+ enableModulusMax: bool = False
245
+ modulusMax: float = 0.0
246
+ enableStrengthMin: bool = False
247
+ strengthMin: float = 0.0
248
+ enableDampMin: bool = False
249
+ dampMin: float = 0.0
250
+ enableDampMax: bool = False
251
+ dampMax: float = 0.0
252
+ enableFixTheta3: bool = False
253
+ fixTheta3: float = 0.0
254
+
255
+
256
+ @dataclass(frozen=True)
257
+ class MeanProfileSummary:
258
+ """Summary of the mean (representative) profile."""
259
+
260
+ profileName: str
261
+ layerCount: int
262
+ totalThickness: float
263
+
264
+
265
+ @dataclass(frozen=True)
266
+ class MeanProfileInsertLayerResult:
267
+ """Result of inserting or duplicating a mean-profile soil layer."""
268
+
269
+ layerID: str
270
+ index1Based: int
271
+
272
+
273
+ @dataclass(frozen=True)
274
+ class MeanProfileAppendLayersResult:
275
+ """Result of appending one or more mean-profile soil layers."""
276
+
277
+ layerIDs: tuple[str, ...]
278
+
279
+
280
+ @dataclass(frozen=True)
281
+ class MeanProfileDeleteLayerResult:
282
+ """Result of deleting a mean-profile soil layer."""
283
+
284
+ deletedLayerID: str
285
+
286
+
287
+ @dataclass(frozen=True)
288
+ class MeanProfileMoveLayerResult:
289
+ """Result of moving a mean-profile soil layer."""
290
+
291
+ layerID: str
292
+ index1Based: int
293
+
294
+
295
+ @dataclass(frozen=True)
296
+ class DynamicsPoint:
297
+ """Dynamics curve point (strain, G/Gmax, damping, strength)."""
298
+
299
+ strain: float
300
+ ggmax: float
301
+ damping: float
302
+ strength: float
303
+
304
+
305
+ @dataclass(frozen=True)
306
+ class DiscretePoint:
307
+ """Discrete curve point for Points soil model (strain, G/Gmax, damping)."""
308
+
309
+ strain: float
310
+ ggmax: float
311
+ damping: float
@@ -0,0 +1,88 @@
1
+ Metadata-Version: 2.4
2
+ Name: RSSeismicScripting
3
+ Version: 3.0.0
4
+ Summary: Client library for interacting with RSSeismic (DeepSoil) through Python
5
+ Author: Rocscience
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://www.rocscience.com/software/rsseismic
8
+ Project-URL: Documentation, https://rocscience.github.io/rsseismic-scripting/
9
+ Keywords: Rocscience,RSSeismic,DeepSoil,Scripting,RocScript,Geotechnical,Seismic
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Topic :: Scientific/Engineering
12
+ Requires-Python: >=3.9
13
+ Description-Content-Type: text/markdown
14
+ License-File: License.txt
15
+ Requires-Dist: grpcio>=1.64.1
16
+ Requires-Dist: protobuf<6.0
17
+ Requires-Dist: pandas>=2.0
18
+ Requires-Dist: matplotlib>=3.7
19
+ Dynamic: license-file
20
+
21
+ ## Introduction
22
+
23
+ This repo contains the reference manual for the RSSeismic scripting library. The RSSeismic scripting library is used to interact with the RSSeismic application through Python.
24
+
25
+ | Resource | Link |
26
+ |----------|------|
27
+ | **Reference manual (this site)** | https://rocscience.github.io/rsseismic-scripting/ |
28
+ | **PyPI package** | https://pypi.org/project/RSSeismicScripting/ |
29
+ | **RSSeismic release notes** | https://www.rocscience.com/support/rsseismic/release-notes |
30
+ | **Program downloads** | https://www.rocscience.com/support/program-downloads |
31
+
32
+ ### Goal
33
+
34
+ Each function exposed corresponds to an equivalent operation you could have done through the UI.
35
+ Using this idea, the user should be able to edit models and get results without having to go through the UI at all.
36
+ Although only a limited set of functionality is exposed for now, the library covers the main scripting workflows. For a list of what is exposed in the current library, see [Exposed Functionality](#exposed-functionality).
37
+
38
+ ### Python UI equivalents
39
+
40
+ Events and workflows done in the UI will have equivalents in the Python library.
41
+ Wherever a dialog is shown in the UI, there will be an equivalent class with methods that mimic the dialog's behavior.
42
+ Wherever a warning or error dialog is displayed, an exception will be thrown, or a warning will be displayed in Python instead.
43
+ Wherever you can select and manipulate an entity, identifiers can be used in the library to get references to those entities in Python and objects will be constructed to help you interface with them.
44
+
45
+ ### How it works
46
+
47
+ Each function in the library is a wrapper to make an API call to the application.
48
+ Objects retrieved through function calls will often not contain any data themselves, but will instead be proxies, allowing you to get information from the objects in the application.
49
+ For this reason, debugging will sometimes be tricky, as not all data will always be available for you to inspect unless you get it and assign it to a variable yourself.
50
+
51
+ ### Warnings
52
+
53
+ References can be *invalidated* whenever the corresponding object in the application is destroyed or reloaded. You will need to watch out for expired references and renew them when needed as it can cause crashes or incorrect results if not managed properly.
54
+
55
+ ## Exposed Functionality
56
+
57
+ The library exposes a focused set of RSSeismic workflows through Python. In this version you can:
58
+
59
+ - **Application connection**: Launch RSSeismic with the scripting server (`startApplication`), connect on a port, `ping`, open `.rsseismicfile` projects, create blank projects, adjust `maxConcurrentAnalyses`, run **batch compute** across many project files, and close the client connection.
60
+
61
+ - **Project lifecycle (`Model`)**: Save, save as, close, **run compute** (with optional timeout and partial-success handling), clear results, and automatic profile **generate** / **reset** when that feature is enabled on the project.
62
+
63
+ - **Profiles (`model.Profiles`)**: List, create, copy, delete, and rename profiles; active profile; list soil layers and bedrock; output depths; get **SoilLayer** / **BedrockLayer** property proxies.
64
+
65
+ - **Profile layer CRUD (`model.SoilLayers`)**: Insert, append, delete, duplicate, and move soil layers on the active profile.
66
+
67
+ - **Mean profile (`model.MeanProfile`)**: Structure CRUD on the automatic-generation template; **MeanProfileSoilLayer** properties including vary-with-depth shear wave / shear strength tables and **ReferenceCurve** (without auto-generate on template layers).
68
+
69
+ - **Profile generation settings (`model.ProfileGenerationSettings`)**: Typed getters/setters for randomization, profile count, and related generation parameters.
70
+
71
+ - **Project settings (`model.ProjectSettings`)**: Typed project properties (analysis mode, solver, motions configuration, automatic profile generation, etc.), plus **unit system** get/change.
72
+
73
+ - **Ground motions (`model.Motions`)**: Motion directory preferences (add/remove/list), refresh project motion list, **uni-directional** motion list/selection or **bi-directional** pair list/selection, select-all and per-directory select/deselect.
74
+
75
+ - **Layer properties**: **SoilLayer** (thickness, soil model, unit weight, …), **ReferenceCurve** (curve model, points, generate reference curve on profile layers), **SoilLayerCurve** (dynamics, discrete points, **curve fit** via `FittingProcedureModel`), **BedrockLayer** on realized profiles.
76
+
77
+ - **Results (`model.Results`)**: Result paths and database metadata; compute-aligned motion/layer discovery; **pandas DataFrames** for profile/layer time histories, profile summaries, result series (`ResultSeriesKind`), strain convergence, and real-time displacement; bulk fetch helpers for many motions/layers.
78
+
79
+ - **Public types and enums**: Summary dataclasses (`ProfileSummary`, `MotionInfo`, `ResultDatabaseInfo`, …), `ResultSeriesKind`, `ResultMotionType`, `UnitSystem`, and property enums under `rsseismic.enums` (for example `SoilModel`, `AnalysisMode`, `InputMotionConfiguration`, `FittingProcedureModel`).
80
+
81
+ RPC failures raise **`ScriptingError`**. Some successful RPCs carry advisory text in `errorMessage`; the client logs those as **warnings** (for example duplicate motion directory add).
82
+
83
+ For method-level detail, use the [Scripting reference manual](https://rocscience.github.io/rsseismic-scripting/) (API reference and example scripts).
84
+
85
+ ## Getting Started
86
+
87
+ - **Tutorials and workflows (Rocscience Help):** https://www.rocscience.com/help/rsseismic/tutorials/
88
+ - **Product documentation:** https://www.rocscience.com/help/rsseismic/documentation/
@@ -0,0 +1,94 @@
1
+ rsseismic/Application.py,sha256=LWugSIw0jbwtjIxN-Xq60CoEuqfWSJPfXBppoDzGBrc,7874
2
+ rsseismic/ApplicationManager.py,sha256=fYpy1MOhFUi31DnkzydIAC0MQl2nLtB-R8gGgeLBbvg,3845
3
+ rsseismic/BedrockLayer.py,sha256=FeClVD3odX8HUnW3RpulvemYYtYacuKfnLJC7E5ehSw,1246
4
+ rsseismic/MeanProfile.py,sha256=u5m4BC4FfN6k6SS_iiI6HO5kSv5rvIA588KOAL7mi6c,7190
5
+ rsseismic/MeanProfileSoilLayer.py,sha256=SdP-qOHpzBDNSFZ2AWVldeKiF0Wgl2Qmn-g6jCix-7w,5406
6
+ rsseismic/Model.py,sha256=fBgAy4AdGZcrAd_w6yrsoMamkHfKGRCG0mp4PNHMU5I,7875
7
+ rsseismic/Motions.py,sha256=WK6tX8B8YL4JuDSGXKa9hbGZwXxVzXg2HeTslwTUyBs,7053
8
+ rsseismic/ProfileGenerationSettings.py,sha256=LCTbbebqzdp9TUNXSiqB73ar_qgmfotwye2XyAA03Lc,1417
9
+ rsseismic/Profiles.py,sha256=Qm1RRXVQQUK_0hqKxV8Qtyfc9bjnVJ2SuO12rwQj070,7494
10
+ rsseismic/ProjectSettings.py,sha256=4KwfZ8Y5pQkZ45IeRkMFU6uwsIj6VlXBbvUzsie_J8U,2407
11
+ rsseismic/ReferenceCurve.py,sha256=sQXPpk5r_ujrAJcHvZlI5EAKkaw26BAVszlMm7KV_zY,3526
12
+ rsseismic/Results.py,sha256=pRaMg1kNgkRQfuTCECR1APMcmL3Ox3-QAhKUV9sTiuk,17113
13
+ rsseismic/SoilLayer.py,sha256=OC8G86X0KYvfDBHamtrwETzymyRroj8YYOku0mQaDTA,1594
14
+ rsseismic/SoilLayerCurve.py,sha256=pubtO6ZMd7A78lmpVpgwXcaLZiASoss9DafNujG14iI,5133
15
+ rsseismic/SoilLayerOperations.py,sha256=UJJYvR0VovA2Gxu5kJKjyG0rLeR3AfnwnS0xQYy0yhQ,4582
16
+ rsseismic/__init__.py,sha256=m6gp_Qefvuo21XnI5yNiwOEyTW7G6FlOdcroHmXqmj4,1991
17
+ rsseismic/_application_paths.py,sha256=aeQUxMQORkmeqnLubeereiSxrLZKglXS6ceyuysF7Qk,2287
18
+ rsseismic/_batch_compute.py,sha256=pOZAMvbAq2kC-GHAB6MNsfh6MkZJzavXsYg3pDWOGp4,12872
19
+ rsseismic/_client.py,sha256=CQ_VVbY08t-Li7Zh7YAIcwTqEU_3aVUuOdjtlTSzx68,2742
20
+ rsseismic/_proto_converters.py,sha256=W_BocDvpvTfqOEHUhxwsdqDcdgeUWZW6pSh_HzaGhUc,11182
21
+ rsseismic/_proxyObject.py,sha256=6NH_FqpkUuelF_SkHVwaAB_npV6ZvCY-AOP7UPav9GI,278
22
+ rsseismic/_result_bulk_dataframes.py,sha256=L5U5lXTRX9SHfdOW1Rt31wBmHliqJ0J6yDBZGz_-45E,6542
23
+ rsseismic/_result_dataframes.py,sha256=RlFtTQ-LvtAB_rfgLtr_Hulahy_fvYMQoD4z2EUMric,2626
24
+ rsseismic/_rpc_helpers.py,sha256=JapTRnW4jMo6WUo6qpRGliDOaRlS1LjwcAhofOp90vo,2159
25
+ rsseismic/exceptions.py,sha256=pvoifO0IcjOmDpw4xkKy64XjvBi4qZssf0uwd2Obse0,325
26
+ rsseismic/types.py,sha256=xBBRBW3js2CHKjcy2KWGrRzWiybT8F_I3TLBcPAjPvw,7084
27
+ rsseismic/enums/__init__.py,sha256=_JBMvszt6v2y7F06N6zf25wNJO6dHIOzOjaWtRbjdVo,586
28
+ rsseismic/enums/_generated.py,sha256=PQwdJZQu9JblMLTPRRfMt_Ztftsug8vFt81ZaURoTkM,3807
29
+ rsseismic/enums/fitting_procedure.py,sha256=3txxvTYmw3krbedMEAlysoBF4_JWVb3I1iGIC9O4e2Y,360
30
+ rsseismic/generatedFiles/ApplicationService_pb2.py,sha256=I7pHLGoFRGfFw70KmHpeNqv37uqN1OF1SVw2sOkoBdo,3748
31
+ rsseismic/generatedFiles/ApplicationService_pb2.pyi,sha256=-GHiKaDoxR3EPmC_bIoMfbJU299g5x2JTugUW3c3Vw8,2517
32
+ rsseismic/generatedFiles/ApplicationService_pb2_grpc.py,sha256=oHq_UJEuujNlXk9sU0CL3vCm4ebA6sBOD5B3GT_v5wQ,11405
33
+ rsseismic/generatedFiles/BedrockLayerDataService_pb2.py,sha256=QOMULn9SDOn78-QH75zbYG2Nl6WtIMVDqevFImFYOrQ,1629
34
+ rsseismic/generatedFiles/BedrockLayerDataService_pb2.pyi,sha256=pvrDKLUvXQf8cSlwLxVR70z9czCSdnkVb3ZNu-Gu6OE,184
35
+ rsseismic/generatedFiles/BedrockLayerDataService_pb2_grpc.py,sha256=M5l73DhDcrUW3Zay_EWyngJhYZthrfZReuLr0HiZqrE,9438
36
+ rsseismic/generatedFiles/CommonMessages_pb2.py,sha256=rvrQ2M_gj4fUDdgeTxZvsa16pvfEa0_vdUwKN5sFL8w,4158
37
+ rsseismic/generatedFiles/CommonMessages_pb2.pyi,sha256=sKBtSGx_ypNUR8Meguz_RJ1Bu6FflIUcy-fSBJaoAbE,4889
38
+ rsseismic/generatedFiles/CommonMessages_pb2_grpc.py,sha256=rNITCNZ87L5k5LiyMBospoC4sDPJv7wzCQu_2Jt98yA,1131
39
+ rsseismic/generatedFiles/MeanProfileService_pb2.py,sha256=gwxfN2Re3CBng8nSsYjcrJmyLfEKNmB4nwfsIorC3bA,7054
40
+ rsseismic/generatedFiles/MeanProfileService_pb2.pyi,sha256=XFoI5qH8Lihj86XRxtxbVM0-kmvn4I-kwHJ2xSqO-iU,7562
41
+ rsseismic/generatedFiles/MeanProfileService_pb2_grpc.py,sha256=Ept9-a53xRdxTyj3A6Q-EPJ2mGqdWIcA6r9xtMSZjis,19587
42
+ rsseismic/generatedFiles/MeanProfileSoilLayerDataService_pb2.py,sha256=uyjbx9mT_yeEpe102tFgfrZqvyO3lv9mEAORDFyis3g,4835
43
+ rsseismic/generatedFiles/MeanProfileSoilLayerDataService_pb2.pyi,sha256=skJQ4hR6RrRkYc0UwCluJvNP5aS7HZveJrvKAwk0pzU,4005
44
+ rsseismic/generatedFiles/MeanProfileSoilLayerDataService_pb2_grpc.py,sha256=4u7dRhXmz98SY5GdYAnfQ1l5A-WStLydYm3irIjl2fo,16663
45
+ rsseismic/generatedFiles/ModelService_pb2.py,sha256=K7ZCNrs8QgDr1pLLKdmL7YF3hyp2p-quXphhHggZJ0Q,5056
46
+ rsseismic/generatedFiles/ModelService_pb2.pyi,sha256=5De3QXZBISzOLaRZbIm3eaToptmV6Rtpt7eeJWglJ-s,5002
47
+ rsseismic/generatedFiles/ModelService_pb2_grpc.py,sha256=YIv4Zb_JccEu2GCym_sm0RNiRLhGYogVC8DlKSD38eQ,14344
48
+ rsseismic/generatedFiles/MotionService_pb2.py,sha256=b0Z9cYvxwyJxUP0qGLBdaR_gb9TYNNKsp5zzWUlVDB8,9550
49
+ rsseismic/generatedFiles/MotionService_pb2.pyi,sha256=7n3MTBZsjbHJpHGrD7z3ce2_ob66iy3rCvmHV1IkPEI,9745
50
+ rsseismic/generatedFiles/MotionService_pb2_grpc.py,sha256=hh2aaRQ7QpnRoIiPhLr5wy_AjVclnnGVpJBMbYCmZiA,24642
51
+ rsseismic/generatedFiles/ProfileGenerationSettingsService_pb2.py,sha256=OEWM_iohaxLKIJwtklAui2KJWwW1RD58l_pTxs80ivw,1451
52
+ rsseismic/generatedFiles/ProfileGenerationSettingsService_pb2.pyi,sha256=pvrDKLUvXQf8cSlwLxVR70z9czCSdnkVb3ZNu-Gu6OE,184
53
+ rsseismic/generatedFiles/ProfileGenerationSettingsService_pb2_grpc.py,sha256=TsBeBlkb-SfJJAbh6HVjwB-rhsmIwiz58XZZVRy5FFs,5923
54
+ rsseismic/generatedFiles/ProfileService_pb2.py,sha256=rot-9TJN_ih7D9vg8oi6KKEAfbfnhY-ZiPeJjYpnCK8,9265
55
+ rsseismic/generatedFiles/ProfileService_pb2.pyi,sha256=4DODhx4ctP1cO-A_yCgAxT2W4nK1umnAzSklPIpC29A,10774
56
+ rsseismic/generatedFiles/ProfileService_pb2_grpc.py,sha256=WKblYFVh_IbXJ9tAmDoWpM5LWb0GmEK3C88o6P5CvoI,22158
57
+ rsseismic/generatedFiles/ProjectSettingsDataService_pb2.py,sha256=pcvhyjsKU5oVIxjM8AA6biOYj8RDIzGl73Zjqi9jLtI,2705
58
+ rsseismic/generatedFiles/ProjectSettingsDataService_pb2.pyi,sha256=TjGzNG8s8mJTb07U8mAY4_hKxOLxCDR_4j7OXzArGUs,1583
59
+ rsseismic/generatedFiles/ProjectSettingsDataService_pb2_grpc.py,sha256=aZo-3gJbog2ORRZHM9PMnku6l8GxUoBAZuVxokC-cis,9791
60
+ rsseismic/generatedFiles/ReferenceCurveDataService_pb2.py,sha256=LX0h9iUGIQKHVTPmM7yeWT5LFZ4S8EDKPSOrkKZaIEs,4047
61
+ rsseismic/generatedFiles/ReferenceCurveDataService_pb2.pyi,sha256=Ef4jlIw4ofTcj6g6MlWYcD81Y6_zXgOIowYKCrPn3u4,3320
62
+ rsseismic/generatedFiles/ReferenceCurveDataService_pb2_grpc.py,sha256=1-0PdmH1WL_PGErdJB5AgR6incQl8aRurIQEm3r480k,12411
63
+ rsseismic/generatedFiles/ResultsService_pb2.py,sha256=y2A8fE6xKaSypPPCycNwYZGM7kCB9p4TKzykbE5PODs,13352
64
+ rsseismic/generatedFiles/ResultsService_pb2.pyi,sha256=Xf72Dj-272j3GCUHcnxcKdqapfoSfwtMsC2l7FcaAj8,19484
65
+ rsseismic/generatedFiles/ResultsService_pb2_grpc.py,sha256=uMjuAeFEvb1LJdDiC8El7OF8ClshPwz-5gGyho3_9IE,21064
66
+ rsseismic/generatedFiles/SoilLayerCurveDataService_pb2.py,sha256=lGTsdwwoeFEamwmsZJ9ztqz-Zf5Ec4oIDuVI48hiMY4,6218
67
+ rsseismic/generatedFiles/SoilLayerCurveDataService_pb2.pyi,sha256=wbjVjwOfXtDdwLRqKzhrfAyIk6-_VCh1V_3gZiKP2g8,7180
68
+ rsseismic/generatedFiles/SoilLayerCurveDataService_pb2_grpc.py,sha256=hx0o-EDasdhWcrxKfDKED8FOIFzK9kPhc9H2fkJxUXI,12039
69
+ rsseismic/generatedFiles/SoilLayerDataService_pb2.py,sha256=_CNd6m7kUMgz5bqev8hoy0QeFPO7UrQS6agJs2yYkf8,1593
70
+ rsseismic/generatedFiles/SoilLayerDataService_pb2.pyi,sha256=pvrDKLUvXQf8cSlwLxVR70z9czCSdnkVb3ZNu-Gu6OE,184
71
+ rsseismic/generatedFiles/SoilLayerDataService_pb2_grpc.py,sha256=7WTa3dXMlLRWfRoxwlMebG9vQXc3S6pRfDaCD_6Iu28,9363
72
+ rsseismic/generatedFiles/SoilLayerService_pb2.py,sha256=SRRw61o7cqO351dI1b0h60KnE9o0pzHt_eBhRiWcBho,4855
73
+ rsseismic/generatedFiles/SoilLayerService_pb2.pyi,sha256=6mKKJBINEi_xBFqVEMgf92yuC3AYZj7-Yiq2ALk_qr8,5532
74
+ rsseismic/generatedFiles/SoilLayerService_pb2_grpc.py,sha256=6CQy53fJu4qYzLSJPDAAp4D3D2mlVFq4QL1ySX7kZsg,13018
75
+ rsseismic/generatedFiles/__init__.py,sha256=-tk1eG9ej62htUNZbCA137mI-Tx5D71YJ2NYk7nQKFo,85
76
+ rsseismic/properties/_PropertyAccessor.py,sha256=lJRDYVA93PpxserTA0bCBztySH8Q2VYnEC6si5sWG14,6497
77
+ rsseismic/properties/__init__.py,sha256=awSzYvrvpAP4BCRaojaGzG1zY_uy3M1sWs89krprRRk,177
78
+ rsseismic/properties/bedrockLayer/__init__.py,sha256=jfowXwkyzV2VARO9-iOGecRSiGIUt1Zy9Aethem-5BU,42
79
+ rsseismic/properties/bedrockLayer/_generated.py,sha256=Eh7m9uQHy3_nwPZgwad21I3onGQyhqCmZ8Vzo-IotkU,5236
80
+ rsseismic/properties/meanProfileSoilLayer/__init__.py,sha256=EpfYePJWsu9nFUlGVIOlpbtXaREG9wljeQ8riM9v5Ag,71
81
+ rsseismic/properties/meanProfileSoilLayer/_generated.py,sha256=WDbJYMgX2CTMyCfukolDpPisbgpYwi03Go3jLkpla8c,4036
82
+ rsseismic/properties/profileGenerationSettings/__init__.py,sha256=VHxd5Sd9e6NJsYRGDkBPxZFviFSo7UjckxF84i2xKAI,74
83
+ rsseismic/properties/profileGenerationSettings/_generated.py,sha256=zaZYy-YIYhY68kcVsAdrUvCxF-65QJBEv2oipZ7y7uk,8415
84
+ rsseismic/properties/projectSettings/__init__.py,sha256=jfowXwkyzV2VARO9-iOGecRSiGIUt1Zy9Aethem-5BU,42
85
+ rsseismic/properties/projectSettings/_generated.py,sha256=SlwFWQYL0OvRWUFFhHVSr2KzVUlZqAgM95kE4-xKXuE,14161
86
+ rsseismic/properties/referenceCurve/__init__.py,sha256=jfowXwkyzV2VARO9-iOGecRSiGIUt1Zy9Aethem-5BU,42
87
+ rsseismic/properties/referenceCurve/_generated.py,sha256=dV-OOtbSg5Uf4_RPlaKKqCNCxbsAyiGjTn0mDgAXypE,9306
88
+ rsseismic/properties/soilLayer/__init__.py,sha256=jfowXwkyzV2VARO9-iOGecRSiGIUt1Zy9Aethem-5BU,42
89
+ rsseismic/properties/soilLayer/_generated.py,sha256=N64FZAiSUSBwveib2YovYn9AxIPBR07u48UREHPnhBM,19449
90
+ rsseismicscripting-3.0.0.dist-info/licenses/License.txt,sha256=mnil8MmAn26npU3T5V9nDsV21QyBGWj5Fxd8Rqx9jIs,1059
91
+ rsseismicscripting-3.0.0.dist-info/METADATA,sha256=r4N6t0ATBkEg2h5KaI1lr_owHT7rU2UeDu5kCU4DKiU,6421
92
+ rsseismicscripting-3.0.0.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
93
+ rsseismicscripting-3.0.0.dist-info/top_level.txt,sha256=mu-G3nc2Jjv4jdFcUKdX694hse6y4Ji_9IJonYGORXo,10
94
+ rsseismicscripting-3.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (83.0.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2026 Rocscience Inc.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1 @@
1
+ rsseismic