py-pilecore 0.2.3__tar.gz → 0.2.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.
Potentially problematic release.
This version of py-pilecore might be problematic. Click here for more details.
- {py-pilecore-0.2.3/src/py_pilecore.egg-info → py-pilecore-0.2.5}/PKG-INFO +3 -2
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/pyproject.toml +3 -2
- {py-pilecore-0.2.3 → py-pilecore-0.2.5/src/py_pilecore.egg-info}/PKG-INFO +3 -2
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/py_pilecore.egg-info/requires.txt +2 -1
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/_version.py +1 -1
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/input/grouper_properties.py +5 -5
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/input/multi_cpt.py +9 -6
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/input/soil_properties.py +4 -2
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/results/grouper_result.py +7 -6
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/tests/test_input.py +8 -5
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/LICENSE +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/README.md +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/setup.cfg +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/py_pilecore.egg-info/SOURCES.txt +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/py_pilecore.egg-info/dependency_links.txt +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/py_pilecore.egg-info/top_level.txt +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/__init__.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/api.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/exceptions.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/input/__init__.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/input/pile_properties.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/plot_utils.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/results/__init__.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/results/load_settlement.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/results/multi_cpt_results.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/results/pile_properties.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/results/single_cpt_results.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/results/soil_properties.py +0 -0
- {py-pilecore-0.2.3 → py-pilecore-0.2.5}/src/pypilecore/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: py-pilecore
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Public python SDK for the CEMS PileCore web-API.
|
|
5
5
|
License: MIT License
|
|
6
6
|
|
|
@@ -32,10 +32,11 @@ License-File: LICENSE
|
|
|
32
32
|
Requires-Dist: pygef<1,>0.8
|
|
33
33
|
Requires-Dist: numpy<2,>1
|
|
34
34
|
Requires-Dist: pandas<3,>2
|
|
35
|
-
Requires-Dist: cems-nuclei[client]<1
|
|
35
|
+
Requires-Dist: cems-nuclei[client]<1,>=0.5
|
|
36
36
|
Requires-Dist: matplotlib<4,>=3.8
|
|
37
37
|
Requires-Dist: tqdm[notebook]<5,>4
|
|
38
38
|
Requires-Dist: natsort<9,>8
|
|
39
|
+
Requires-Dist: shapely<3,>=2
|
|
39
40
|
Provides-Extra: test
|
|
40
41
|
Requires-Dist: coveralls; extra == "test"
|
|
41
42
|
Requires-Dist: pytest; extra == "test"
|
|
@@ -4,17 +4,18 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "py-pilecore"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.5"
|
|
8
8
|
description = "Public python SDK for the CEMS PileCore web-API."
|
|
9
9
|
requires-python = ">=3.9"
|
|
10
10
|
dependencies = [
|
|
11
11
|
'pygef>0.8,<1',
|
|
12
12
|
'numpy>1,<2',
|
|
13
13
|
'pandas>2,<3',
|
|
14
|
-
'cems-nuclei[client]
|
|
14
|
+
'cems-nuclei[client]>=0.5,<1',
|
|
15
15
|
'matplotlib>=3.8,<4',
|
|
16
16
|
"tqdm[notebook]>4,<5",
|
|
17
17
|
"natsort>8,<9",
|
|
18
|
+
"shapely>=2,<3",
|
|
18
19
|
]
|
|
19
20
|
license = { file = "LICENSE" }
|
|
20
21
|
readme = "README.md"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: py-pilecore
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: Public python SDK for the CEMS PileCore web-API.
|
|
5
5
|
License: MIT License
|
|
6
6
|
|
|
@@ -32,10 +32,11 @@ License-File: LICENSE
|
|
|
32
32
|
Requires-Dist: pygef<1,>0.8
|
|
33
33
|
Requires-Dist: numpy<2,>1
|
|
34
34
|
Requires-Dist: pandas<3,>2
|
|
35
|
-
Requires-Dist: cems-nuclei[client]<1
|
|
35
|
+
Requires-Dist: cems-nuclei[client]<1,>=0.5
|
|
36
36
|
Requires-Dist: matplotlib<4,>=3.8
|
|
37
37
|
Requires-Dist: tqdm[notebook]<5,>4
|
|
38
38
|
Requires-Dist: natsort<9,>8
|
|
39
|
+
Requires-Dist: shapely<3,>=2
|
|
39
40
|
Provides-Extra: test
|
|
40
41
|
Requires-Dist: coveralls; extra == "test"
|
|
41
42
|
Requires-Dist: pytest; extra == "test"
|
|
@@ -121,11 +121,11 @@ def create_grouper_payload(
|
|
|
121
121
|
overrule_nan:
|
|
122
122
|
Default is 0.0
|
|
123
123
|
The default behavior is to replace NaN with zero, for one of the following
|
|
124
|
-
attributes ["R_b_cal", "
|
|
124
|
+
attributes ["R_b_cal", "F_nk_d", "R_s_cal"].
|
|
125
125
|
skip_nan:
|
|
126
126
|
Default is False
|
|
127
127
|
If True the CPTs are skipped that have NaN values in one of the following
|
|
128
|
-
attributes ["R_b_cal", "
|
|
128
|
+
attributes ["R_b_cal", "F_nk_d", "R_s_cal"], this means that they are not used in the grouper method.
|
|
129
129
|
|
|
130
130
|
Raises
|
|
131
131
|
------
|
|
@@ -172,7 +172,7 @@ def create_grouper_payload(
|
|
|
172
172
|
f" CPT {name} does not have a x-coordinate or y-coordinate"
|
|
173
173
|
)
|
|
174
174
|
|
|
175
|
-
for item in ["R_b_cal", "
|
|
175
|
+
for item in ["R_b_cal", "F_nk_d", "R_s_cal"]:
|
|
176
176
|
if np.isnan(cpt_result.table.__getattribute__(item)).any():
|
|
177
177
|
if skip_nan:
|
|
178
178
|
has_nan = True
|
|
@@ -201,7 +201,7 @@ def create_grouper_payload(
|
|
|
201
201
|
cpt_result.table.R_b_cal, nan=overrule_nan
|
|
202
202
|
).tolist(),
|
|
203
203
|
"negative_friction": np.nan_to_num(
|
|
204
|
-
cpt_result.table.
|
|
204
|
+
cpt_result.table.F_nk_d, nan=overrule_nan
|
|
205
205
|
).tolist(),
|
|
206
206
|
"shaft_bearing_capacity": np.nan_to_num(
|
|
207
207
|
cpt_result.table.R_s_cal, nan=overrule_nan
|
|
@@ -227,7 +227,7 @@ def create_grouper_payload(
|
|
|
227
227
|
f"upper boundary: {max(pile_tip_level)}, lower boundary: {min(pile_tip_level)}. \n"
|
|
228
228
|
)
|
|
229
229
|
raise ValueError(msg)
|
|
230
|
-
payload["pile_tip_level"] = list(raw_lengths[0])
|
|
230
|
+
payload["pile_tip_level"] = sorted(list(raw_lengths[0]), reverse=True)
|
|
231
231
|
|
|
232
232
|
return payload
|
|
233
233
|
|
|
@@ -15,9 +15,9 @@ def create_multi_cpt_payload(
|
|
|
15
15
|
cptdata_objects: List[CPTData],
|
|
16
16
|
classify_tables: Dict[str, dict],
|
|
17
17
|
groundwater_level_nap: float,
|
|
18
|
-
pile_type: Literal["
|
|
19
|
-
specification: Literal["
|
|
20
|
-
installation: Literal["
|
|
18
|
+
pile_type: Literal["concrete", "steel", "micro", "wood"],
|
|
19
|
+
specification: Literal["1", "2", "3", "4", "5", "6", "7"],
|
|
20
|
+
installation: Literal["A", "B", "C", "D", "E", "F", "G"],
|
|
21
21
|
pile_shape: Literal["round", "rect"],
|
|
22
22
|
friction_range_strategy: Literal[
|
|
23
23
|
"manual", "lower_bound", "settlement_driven"
|
|
@@ -25,7 +25,8 @@ def create_multi_cpt_payload(
|
|
|
25
25
|
stiff_construction: bool = False,
|
|
26
26
|
cpts_group: List[str] | None = None,
|
|
27
27
|
fixed_negative_friction_range_nap: Tuple[float, float] | None = None,
|
|
28
|
-
fixed_positive_friction_range_nap: Tuple[float,
|
|
28
|
+
fixed_positive_friction_range_nap: Tuple[float, Literal["ptl"] | float]
|
|
29
|
+
| None = None,
|
|
29
30
|
negative_shaft_friction: float | None = None,
|
|
30
31
|
apply_qc3_reduction: bool | None = None,
|
|
31
32
|
relative_pile_load: float | None = 0.7,
|
|
@@ -34,9 +35,11 @@ def create_multi_cpt_payload(
|
|
|
34
35
|
pile_head_level_nap: float | Literal["surface"] = "surface",
|
|
35
36
|
excavation_depth_nap: float | None = None,
|
|
36
37
|
excavation_param_t: float = 1.0,
|
|
37
|
-
individual_negative_friction_range_nap: Mapping[str, Tuple[float,
|
|
38
|
+
individual_negative_friction_range_nap: Mapping[str, Tuple[float, float]]
|
|
38
39
|
| None = None,
|
|
39
|
-
individual_positive_friction_range_nap: Mapping[
|
|
40
|
+
individual_positive_friction_range_nap: Mapping[
|
|
41
|
+
str, Tuple[float, Literal["ptl"] | float]
|
|
42
|
+
]
|
|
40
43
|
| None = None,
|
|
41
44
|
diameter_base: float | None = None,
|
|
42
45
|
diameter_shaft: float | None = None,
|
|
@@ -26,9 +26,11 @@ def create_soil_properties_payload(
|
|
|
26
26
|
groundwater_level_nap: float,
|
|
27
27
|
friction_range_strategy: Literal["manual", "lower_bound", "settlement_driven"],
|
|
28
28
|
excavation_depth_nap: float | None = None,
|
|
29
|
-
individual_negative_friction_range_nap: Mapping[Any, Tuple[float,
|
|
29
|
+
individual_negative_friction_range_nap: Mapping[Any, Tuple[float, float]]
|
|
30
30
|
| None = None,
|
|
31
|
-
individual_positive_friction_range_nap: Mapping[
|
|
31
|
+
individual_positive_friction_range_nap: Mapping[
|
|
32
|
+
Any, Tuple[float, Literal["ptl"] | float]
|
|
33
|
+
]
|
|
32
34
|
| None = None,
|
|
33
35
|
) -> Tuple[List[dict], Dict[str, dict]]:
|
|
34
36
|
"""
|
|
@@ -528,14 +528,15 @@ class GrouperResults:
|
|
|
528
528
|
|
|
529
529
|
- cpts within a subgroup
|
|
530
530
|
- green:
|
|
531
|
-
|
|
532
|
-
|
|
531
|
+
There are no other CPTs in between the members of the subgroup. The
|
|
532
|
+
group is also compliant with the NEN9997-1 3.2.3 centre to centre
|
|
533
|
+
validation.
|
|
533
534
|
- orange:
|
|
534
|
-
|
|
535
|
-
|
|
535
|
+
There are no other CPTs in between the members of the subgroup. The
|
|
536
|
+
centre-to-centre check failed and so the group does not follow the
|
|
537
|
+
NEN9997-1 3.2.3 centre to centre validation.
|
|
536
538
|
- red:
|
|
537
|
-
|
|
538
|
-
members of the subgroup and does not follow the NEN9997-1 3.2.3 centre to centre validation
|
|
539
|
+
There are other CPTs in between the members of the subgroup.
|
|
539
540
|
- valid depth of the subgroup
|
|
540
541
|
|
|
541
542
|
Parameters
|
|
@@ -313,10 +313,13 @@ def test_create_grouper_payload(
|
|
|
313
313
|
mock_multi_cpt_bearing_response, mock_results_passover
|
|
314
314
|
)
|
|
315
315
|
|
|
316
|
-
create_grouper_payload(
|
|
316
|
+
payload = create_grouper_payload(
|
|
317
317
|
cptgroupresults.cpt_results.cpt_results_dict, pile_load_uls=100
|
|
318
318
|
)
|
|
319
319
|
|
|
320
|
+
# check if pile tip levels are sorted
|
|
321
|
+
assert payload["pile_tip_level"] == [1.0, 0.5, 0.0, -0.5]
|
|
322
|
+
|
|
320
323
|
# test value error
|
|
321
324
|
single_cpt_results = cptgroupresults.cpt_results.cpt_results_dict["9"]
|
|
322
325
|
with pytest.raises(ValueError):
|
|
@@ -430,8 +433,8 @@ def test_create_multi_cpt_payload_extended_round_pile(
|
|
|
430
433
|
gamma_f_nk=1.2,
|
|
431
434
|
gamma_r_s=1.5,
|
|
432
435
|
gamma_r_b=1.4,
|
|
433
|
-
individual_negative_friction_range_nap={cpt.alias:
|
|
434
|
-
individual_positive_friction_range_nap={cpt.alias:
|
|
436
|
+
individual_negative_friction_range_nap={cpt.alias: (0.0, -5.0)},
|
|
437
|
+
individual_positive_friction_range_nap={cpt.alias: (-5.0, "ptl")},
|
|
435
438
|
diameter_shaft=0.25,
|
|
436
439
|
height_base=0.5,
|
|
437
440
|
settlement_curve=2,
|
|
@@ -536,8 +539,8 @@ def test_create_multi_cpt_payload_extended_rect_pile(
|
|
|
536
539
|
gamma_f_nk=1.2,
|
|
537
540
|
gamma_r_s=1.5,
|
|
538
541
|
gamma_r_b=1.4,
|
|
539
|
-
individual_negative_friction_range_nap={cpt.alias:
|
|
540
|
-
individual_positive_friction_range_nap={cpt.alias:
|
|
542
|
+
individual_negative_friction_range_nap={cpt.alias: (0.0, -5.0)},
|
|
543
|
+
individual_positive_friction_range_nap={cpt.alias: (-5.0, "ptl")},
|
|
541
544
|
width_base_small=0.25,
|
|
542
545
|
width_shaft_large=0.3,
|
|
543
546
|
width_shaft_small=0.25,
|
|
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
|