geolysis 0.3.0__tar.gz → 0.4.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 (39) hide show
  1. {geolysis-0.3.0 → geolysis-0.4.2}/LICENSE.txt +21 -21
  2. geolysis-0.4.2/PKG-INFO +228 -0
  3. geolysis-0.4.2/README.md +197 -0
  4. geolysis-0.4.2/geolysis/__init__.py +3 -0
  5. geolysis-0.4.2/geolysis/foundation.py +326 -0
  6. geolysis-0.4.2/geolysis/soil_classifier.py +719 -0
  7. geolysis-0.4.2/geolysis/spt.py +447 -0
  8. geolysis-0.4.2/geolysis/utils.py +78 -0
  9. geolysis-0.4.2/geolysis/validators.py +54 -0
  10. geolysis-0.4.2/geolysis.egg-info/PKG-INFO +228 -0
  11. {geolysis-0.3.0 → geolysis-0.4.2}/geolysis.egg-info/SOURCES.txt +5 -10
  12. {geolysis-0.3.0 → geolysis-0.4.2}/geolysis.egg-info/requires.txt +0 -2
  13. {geolysis-0.3.0 → geolysis-0.4.2}/pyproject.toml +94 -93
  14. {geolysis-0.3.0 → geolysis-0.4.2}/setup.cfg +4 -4
  15. {geolysis-0.3.0 → geolysis-0.4.2}/setup.py +3 -3
  16. geolysis-0.4.2/tests/test_foundation.py +22 -0
  17. geolysis-0.4.2/tests/test_soil_classifier.py +136 -0
  18. geolysis-0.4.2/tests/test_spt.py +37 -0
  19. geolysis-0.4.2/tests/test_utils.py +36 -0
  20. geolysis-0.3.0/PKG-INFO +0 -223
  21. geolysis-0.3.0/README.md +0 -189
  22. geolysis-0.3.0/geolysis/__init__.py +0 -3
  23. geolysis-0.3.0/geolysis/core/__init__.py +0 -9
  24. geolysis-0.3.0/geolysis/core/abc_4_cohl_soils.py +0 -495
  25. geolysis-0.3.0/geolysis/core/constants.py +0 -47
  26. geolysis-0.3.0/geolysis/core/estimators.py +0 -549
  27. geolysis-0.3.0/geolysis/core/foundation.py +0 -543
  28. geolysis-0.3.0/geolysis/core/soil_classifier.py +0 -859
  29. geolysis-0.3.0/geolysis/core/spt.py +0 -633
  30. geolysis-0.3.0/geolysis/core/utils.py +0 -113
  31. geolysis-0.3.0/geolysis.egg-info/PKG-INFO +0 -223
  32. geolysis-0.3.0/tests/test_abc_4_cohl_soils.py +0 -1
  33. geolysis-0.3.0/tests/test_estimators.py +0 -21
  34. geolysis-0.3.0/tests/test_foundation.py +0 -74
  35. geolysis-0.3.0/tests/test_soil_classifier.py +0 -178
  36. geolysis-0.3.0/tests/test_spt.py +0 -54
  37. geolysis-0.3.0/tests/test_utils.py +0 -46
  38. {geolysis-0.3.0 → geolysis-0.4.2}/geolysis.egg-info/dependency_links.txt +0 -0
  39. {geolysis-0.3.0 → geolysis-0.4.2}/geolysis.egg-info/top_level.txt +0 -0
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 geolysis
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024 geolysis
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,228 @@
1
+ Metadata-Version: 2.2
2
+ Name: geolysis
3
+ Version: 0.4.2
4
+ Summary: geolysis.core is an opensource software for geotechnical engineering analysis and modeling.
5
+ Author-email: Patrick Boateng <boatengpato.pb@gmail.com>
6
+ License: MIT License
7
+ Project-URL: Homepage, https://github.com/patrickboateng/geolysis
8
+ Project-URL: Documentation, https://geolysis.readthedocs.org
9
+ Project-URL: Repository, https://github.com/patrickboateng/geolysis
10
+ Project-URL: Discussions, https://github.com/patrickboateng/geolysis/discussions
11
+ Project-URL: Issue Tracker, https://github.com/patrickboateng/geolysis/issues
12
+ Keywords: geotechnical-engineering,soil-classification,settlement-analysis,bearing-capacity-analysis
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Education
16
+ Classifier: Intended Audience :: Science/Research
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Natural Language :: English
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: Implementation :: CPython
23
+ Classifier: Topic :: Scientific/Engineering
24
+ Requires-Python: >=3.11
25
+ Description-Content-Type: text/markdown
26
+ License-File: LICENSE.txt
27
+ Provides-Extra: dev
28
+ Requires-Dist: pytest; extra == "dev"
29
+ Requires-Dist: pytest-cov; extra == "dev"
30
+ Requires-Dist: coverage; extra == "dev"
31
+
32
+ <h1 align="center">
33
+ <img src="https://raw.githubusercontent.com/patrickboateng/geolysis/dev/docs/source/_static/branding/geolysislogo.svg"
34
+ alt="geolysislogo" width="75%" />
35
+ </h1><br>
36
+
37
+ <div align="center">
38
+
39
+ [![PyPI Latest Release](https://img.shields.io/pypi/v/geolysis?style=flat&logo=pypi)](https://pypi.org/project/geolysis/)
40
+ [![PyPI pyversions](https://img.shields.io/pypi/pyversions/geolysis.svg?logo=python&style=flat)](https://pypi.python.org/pypi/geolysis/)
41
+ [![license](https://img.shields.io/pypi/l/geolysis?style=flat&logo=opensourceinitiative)](https://opensource.org/license/mit/)
42
+
43
+ ![Coveralls Status](https://img.shields.io/coverallsCoverage/github/patrickboateng/geolysis?logo=coveralls)
44
+ [![Codacy Badge](https://app.codacy.com/project/badge/Grade/17f88084c6a84a08a20f9d8da1438107)](https://app.codacy.com/gh/patrickboateng/geolysis/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
45
+ [![Unit-Tests](https://github.com/patrickboateng/geolysis/actions/workflows/geolysis-unit-tests.yml/badge.svg)](https://github.com/patrickboateng/geolysis/actions/workflows/unit-tests.yml)
46
+ [![Documentation Status](https://readthedocs.org/projects/geolysis/badge/?version=latest)](https://geolysis.readthedocs.io/en/latest/?badge=latest)
47
+
48
+ </div>
49
+
50
+ `geolysis` is an open-source library for geotechnical analysis and modeling.
51
+ It offers tools for soil classification, Standard Penetration Test (SPT)
52
+ analysis, and bearing capacity estimation, among others.
53
+
54
+ The `geolysis` library is among four main projects: `geolysis.gui`,
55
+ `geolysis.excel`, and `geolysis.ai`. The geolysis library powers all of these
56
+ projects.
57
+
58
+ **_The `geolysis` projects are currently under developement and not yet
59
+ publicly available_**.
60
+
61
+ **_Active development of `geolysis` occurs on the `dev` branch. For more
62
+ information on the latest features of `geolysis`, switch to the
63
+ `dev` branch_**.
64
+
65
+ Here are brief descriptions of these projects:
66
+
67
+ <table>
68
+ <tr>
69
+ <td>
70
+ <strong>geolysis.gui</strong>
71
+ </td>
72
+ <td>A graphical user interface that allows users to interact with the
73
+ geolysis library. Through this interface, users can view generated reports
74
+ and visualizations, such as Particle Size Distribution (PSD) curves,
75
+ Atterberg Limits plots, and Compaction curves, among others.
76
+ Additionally, it enables users to conduct foundation analysis and
77
+ design, among other functionalities.
78
+ </td>
79
+ </tr>
80
+ <tr>
81
+ <td>
82
+ <strong>geolysis.excel</strong>
83
+ </td>
84
+ <td>An add-in for Microsoft Excel that performs simple geotechnical
85
+ analysis. It offers some features similar to <code>geolysis.gui</code>
86
+ within Microsoft Excel.
87
+ </td>
88
+ </tr>
89
+ <tr>
90
+ <td>
91
+ <strong>geolysis.ai</strong>
92
+ </td>
93
+ <td>Offers machine learning models that are trained using geotechnical data.
94
+ </td>
95
+ </tr>
96
+ </table>
97
+
98
+ ## Project Structure
99
+
100
+ .
101
+ ├── .github # GitHub Actions
102
+ ├── docs # Documentation files
103
+ ├── geolysis # Source files
104
+ ├── tests # Automated tests
105
+ └── README.md
106
+
107
+ ## Table of Contents
108
+
109
+ - [Installation](#installation)
110
+ - [Usage Example](#usage-example)
111
+ - [Features](#features)
112
+ - [Documentation](#documentation)
113
+ - [Contributing](#contributing)
114
+ - [License](#license)
115
+ - [Contact](#contact)
116
+
117
+ ## Installation
118
+
119
+ **_Note: Work on the latest update is still in progress, so the usage example
120
+ below
121
+ will not function if installed._**
122
+
123
+ ```shell
124
+ pip install geolysis
125
+ ```
126
+
127
+ ## Usage Example
128
+
129
+ ```python
130
+
131
+ >> > from geolysis.soil_classifier import create_soil_classifier
132
+ >> > uscs_clf = create_soil_classifier(liquid_limit=34.1,
133
+ ...
134
+ plastic_limit = 21.1,
135
+ ...
136
+ fines = 47.88,
137
+ ...
138
+ sand = 37.84,
139
+ ...
140
+ clf_type = "USCS")
141
+ >> > clf = uscs_clf.classify()
142
+ >> > clf
143
+ SoilClf(symbol='SC', description='Clayey sands')
144
+ >> > clf.symbol
145
+ 'SC'
146
+ >> > clf.description
147
+ 'Clayey sands'
148
+
149
+ ```
150
+
151
+ ```python
152
+
153
+ >> > from geolysis.soil_classifier import create_soil_classifier
154
+ >> > aashto_clf = create_soil_classifier(liquid_limit=34.1,
155
+ ...
156
+ plastic_limit = 21.1,
157
+ ...
158
+ fines = 47.88,
159
+ ...
160
+ sand = 37.84, # Sand is optional for AASHTO classification
161
+ ...
162
+ clf_type = "AASHTO")
163
+ >> > clf = aashto_clf.classify()
164
+ >> > clf
165
+ SoilClf(symbol='A-6(4)', description='Clayey soils')
166
+ >> > clf.symbol
167
+ 'A-6(4)'
168
+ >> > clf.description
169
+ 'Clayey soils'
170
+
171
+ ```
172
+
173
+ ## Features
174
+
175
+ <table>
176
+ <tr>
177
+ <td rowspan="2">
178
+ <strong>Soil Classification</strong>
179
+ </td>
180
+ <td>AASHTO Classification System</td>
181
+ </tr>
182
+ <tr>
183
+ <td>Unified Soil Classification System</td>
184
+ </tr>
185
+ <tr>
186
+ <td rowspan="4">
187
+ <strong>Standard Penetration Test (SPT) Analysis</strong>
188
+ </td>
189
+ <td>SPT Energy Correction</td>
190
+ </tr>
191
+ <tr>
192
+ <td>SPT Overburden Pressure Correction</td>
193
+ </tr>
194
+ <tr>
195
+ <td>Dilatancy Correction</td>
196
+ </tr>
197
+ <tr>
198
+ <td>SPT N-Design Calculation</td>
199
+ </tr>
200
+ <tr>
201
+ <td rowspan="2">
202
+ <strong>Bearing Capacity Estimation</strong>
203
+ </td>
204
+ <td>Allowable Bearing Capacity Estimation</td>
205
+ </tr>
206
+ <tr>
207
+ <td>Ultimate Bearing Capacity Estimation</td>
208
+ </tr>
209
+ </table>
210
+
211
+ ## Documentation
212
+
213
+ Full documentation is available [here](https://www.geolysis.readthedocs.io)
214
+
215
+ **_Note: Work on the latest documentation is still ongoing._**
216
+
217
+ ## Contributing
218
+
219
+ ## License
220
+
221
+ This project is licensed under the MIT License - see the
222
+ [LICENSE](https://github.com/patrickboateng/geolysis/blob/main/LICENSE.txt)
223
+ file for more details.
224
+
225
+ ## Contact
226
+
227
+ For questions or feedback, please contact us at
228
+ [boatengpato.pb@gmail.com](mailto:boatengpato.pb@gmail.com)
@@ -0,0 +1,197 @@
1
+ <h1 align="center">
2
+ <img src="https://raw.githubusercontent.com/patrickboateng/geolysis/dev/docs/source/_static/branding/geolysislogo.svg"
3
+ alt="geolysislogo" width="75%" />
4
+ </h1><br>
5
+
6
+ <div align="center">
7
+
8
+ [![PyPI Latest Release](https://img.shields.io/pypi/v/geolysis?style=flat&logo=pypi)](https://pypi.org/project/geolysis/)
9
+ [![PyPI pyversions](https://img.shields.io/pypi/pyversions/geolysis.svg?logo=python&style=flat)](https://pypi.python.org/pypi/geolysis/)
10
+ [![license](https://img.shields.io/pypi/l/geolysis?style=flat&logo=opensourceinitiative)](https://opensource.org/license/mit/)
11
+
12
+ ![Coveralls Status](https://img.shields.io/coverallsCoverage/github/patrickboateng/geolysis?logo=coveralls)
13
+ [![Codacy Badge](https://app.codacy.com/project/badge/Grade/17f88084c6a84a08a20f9d8da1438107)](https://app.codacy.com/gh/patrickboateng/geolysis/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
14
+ [![Unit-Tests](https://github.com/patrickboateng/geolysis/actions/workflows/geolysis-unit-tests.yml/badge.svg)](https://github.com/patrickboateng/geolysis/actions/workflows/unit-tests.yml)
15
+ [![Documentation Status](https://readthedocs.org/projects/geolysis/badge/?version=latest)](https://geolysis.readthedocs.io/en/latest/?badge=latest)
16
+
17
+ </div>
18
+
19
+ `geolysis` is an open-source library for geotechnical analysis and modeling.
20
+ It offers tools for soil classification, Standard Penetration Test (SPT)
21
+ analysis, and bearing capacity estimation, among others.
22
+
23
+ The `geolysis` library is among four main projects: `geolysis.gui`,
24
+ `geolysis.excel`, and `geolysis.ai`. The geolysis library powers all of these
25
+ projects.
26
+
27
+ **_The `geolysis` projects are currently under developement and not yet
28
+ publicly available_**.
29
+
30
+ **_Active development of `geolysis` occurs on the `dev` branch. For more
31
+ information on the latest features of `geolysis`, switch to the
32
+ `dev` branch_**.
33
+
34
+ Here are brief descriptions of these projects:
35
+
36
+ <table>
37
+ <tr>
38
+ <td>
39
+ <strong>geolysis.gui</strong>
40
+ </td>
41
+ <td>A graphical user interface that allows users to interact with the
42
+ geolysis library. Through this interface, users can view generated reports
43
+ and visualizations, such as Particle Size Distribution (PSD) curves,
44
+ Atterberg Limits plots, and Compaction curves, among others.
45
+ Additionally, it enables users to conduct foundation analysis and
46
+ design, among other functionalities.
47
+ </td>
48
+ </tr>
49
+ <tr>
50
+ <td>
51
+ <strong>geolysis.excel</strong>
52
+ </td>
53
+ <td>An add-in for Microsoft Excel that performs simple geotechnical
54
+ analysis. It offers some features similar to <code>geolysis.gui</code>
55
+ within Microsoft Excel.
56
+ </td>
57
+ </tr>
58
+ <tr>
59
+ <td>
60
+ <strong>geolysis.ai</strong>
61
+ </td>
62
+ <td>Offers machine learning models that are trained using geotechnical data.
63
+ </td>
64
+ </tr>
65
+ </table>
66
+
67
+ ## Project Structure
68
+
69
+ .
70
+ ├── .github # GitHub Actions
71
+ ├── docs # Documentation files
72
+ ├── geolysis # Source files
73
+ ├── tests # Automated tests
74
+ └── README.md
75
+
76
+ ## Table of Contents
77
+
78
+ - [Installation](#installation)
79
+ - [Usage Example](#usage-example)
80
+ - [Features](#features)
81
+ - [Documentation](#documentation)
82
+ - [Contributing](#contributing)
83
+ - [License](#license)
84
+ - [Contact](#contact)
85
+
86
+ ## Installation
87
+
88
+ **_Note: Work on the latest update is still in progress, so the usage example
89
+ below
90
+ will not function if installed._**
91
+
92
+ ```shell
93
+ pip install geolysis
94
+ ```
95
+
96
+ ## Usage Example
97
+
98
+ ```python
99
+
100
+ >> > from geolysis.soil_classifier import create_soil_classifier
101
+ >> > uscs_clf = create_soil_classifier(liquid_limit=34.1,
102
+ ...
103
+ plastic_limit = 21.1,
104
+ ...
105
+ fines = 47.88,
106
+ ...
107
+ sand = 37.84,
108
+ ...
109
+ clf_type = "USCS")
110
+ >> > clf = uscs_clf.classify()
111
+ >> > clf
112
+ SoilClf(symbol='SC', description='Clayey sands')
113
+ >> > clf.symbol
114
+ 'SC'
115
+ >> > clf.description
116
+ 'Clayey sands'
117
+
118
+ ```
119
+
120
+ ```python
121
+
122
+ >> > from geolysis.soil_classifier import create_soil_classifier
123
+ >> > aashto_clf = create_soil_classifier(liquid_limit=34.1,
124
+ ...
125
+ plastic_limit = 21.1,
126
+ ...
127
+ fines = 47.88,
128
+ ...
129
+ sand = 37.84, # Sand is optional for AASHTO classification
130
+ ...
131
+ clf_type = "AASHTO")
132
+ >> > clf = aashto_clf.classify()
133
+ >> > clf
134
+ SoilClf(symbol='A-6(4)', description='Clayey soils')
135
+ >> > clf.symbol
136
+ 'A-6(4)'
137
+ >> > clf.description
138
+ 'Clayey soils'
139
+
140
+ ```
141
+
142
+ ## Features
143
+
144
+ <table>
145
+ <tr>
146
+ <td rowspan="2">
147
+ <strong>Soil Classification</strong>
148
+ </td>
149
+ <td>AASHTO Classification System</td>
150
+ </tr>
151
+ <tr>
152
+ <td>Unified Soil Classification System</td>
153
+ </tr>
154
+ <tr>
155
+ <td rowspan="4">
156
+ <strong>Standard Penetration Test (SPT) Analysis</strong>
157
+ </td>
158
+ <td>SPT Energy Correction</td>
159
+ </tr>
160
+ <tr>
161
+ <td>SPT Overburden Pressure Correction</td>
162
+ </tr>
163
+ <tr>
164
+ <td>Dilatancy Correction</td>
165
+ </tr>
166
+ <tr>
167
+ <td>SPT N-Design Calculation</td>
168
+ </tr>
169
+ <tr>
170
+ <td rowspan="2">
171
+ <strong>Bearing Capacity Estimation</strong>
172
+ </td>
173
+ <td>Allowable Bearing Capacity Estimation</td>
174
+ </tr>
175
+ <tr>
176
+ <td>Ultimate Bearing Capacity Estimation</td>
177
+ </tr>
178
+ </table>
179
+
180
+ ## Documentation
181
+
182
+ Full documentation is available [here](https://www.geolysis.readthedocs.io)
183
+
184
+ **_Note: Work on the latest documentation is still ongoing._**
185
+
186
+ ## Contributing
187
+
188
+ ## License
189
+
190
+ This project is licensed under the MIT License - see the
191
+ [LICENSE](https://github.com/patrickboateng/geolysis/blob/main/LICENSE.txt)
192
+ file for more details.
193
+
194
+ ## Contact
195
+
196
+ For questions or feedback, please contact us at
197
+ [boatengpato.pb@gmail.com](mailto:boatengpato.pb@gmail.com)
@@ -0,0 +1,3 @@
1
+ from . import foundation, soil_classifier, spt, utils
2
+
3
+ __version__ = "0.4.2"