geolysis 0.3.0__tar.gz → 0.4.3__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 (38) hide show
  1. {geolysis-0.3.0 → geolysis-0.4.3}/LICENSE.txt +21 -21
  2. geolysis-0.4.3/PKG-INFO +193 -0
  3. geolysis-0.4.3/README.md +162 -0
  4. geolysis-0.4.3/geolysis/__init__.py +1 -0
  5. geolysis-0.4.3/geolysis/foundation.py +393 -0
  6. geolysis-0.4.3/geolysis/soil_classifier.py +781 -0
  7. geolysis-0.4.3/geolysis/spt.py +492 -0
  8. geolysis-0.4.3/geolysis.egg-info/PKG-INFO +193 -0
  9. {geolysis-0.3.0 → geolysis-0.4.3}/geolysis.egg-info/SOURCES.txt +5 -11
  10. {geolysis-0.3.0 → geolysis-0.4.3}/geolysis.egg-info/requires.txt +0 -2
  11. {geolysis-0.3.0 → geolysis-0.4.3}/pyproject.toml +79 -93
  12. {geolysis-0.3.0 → geolysis-0.4.3}/setup.cfg +4 -4
  13. {geolysis-0.3.0 → geolysis-0.4.3}/setup.py +3 -3
  14. geolysis-0.4.3/tests/test_foundation.py +117 -0
  15. geolysis-0.4.3/tests/test_soil_classifier.py +172 -0
  16. geolysis-0.4.3/tests/test_spt.py +108 -0
  17. geolysis-0.4.3/tests/test_utils.py +41 -0
  18. geolysis-0.4.3/tests/test_validators.py +24 -0
  19. geolysis-0.3.0/PKG-INFO +0 -223
  20. geolysis-0.3.0/README.md +0 -189
  21. geolysis-0.3.0/geolysis/__init__.py +0 -3
  22. geolysis-0.3.0/geolysis/core/__init__.py +0 -9
  23. geolysis-0.3.0/geolysis/core/abc_4_cohl_soils.py +0 -495
  24. geolysis-0.3.0/geolysis/core/constants.py +0 -47
  25. geolysis-0.3.0/geolysis/core/estimators.py +0 -549
  26. geolysis-0.3.0/geolysis/core/foundation.py +0 -543
  27. geolysis-0.3.0/geolysis/core/soil_classifier.py +0 -859
  28. geolysis-0.3.0/geolysis/core/spt.py +0 -633
  29. geolysis-0.3.0/geolysis/core/utils.py +0 -113
  30. geolysis-0.3.0/geolysis.egg-info/PKG-INFO +0 -223
  31. geolysis-0.3.0/tests/test_abc_4_cohl_soils.py +0 -1
  32. geolysis-0.3.0/tests/test_estimators.py +0 -21
  33. geolysis-0.3.0/tests/test_foundation.py +0 -74
  34. geolysis-0.3.0/tests/test_soil_classifier.py +0 -178
  35. geolysis-0.3.0/tests/test_spt.py +0 -54
  36. geolysis-0.3.0/tests/test_utils.py +0 -46
  37. {geolysis-0.3.0 → geolysis-0.4.3}/geolysis.egg-info/dependency_links.txt +0 -0
  38. {geolysis-0.3.0 → geolysis-0.4.3}/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,193 @@
1
+ Metadata-Version: 2.2
2
+ Name: geolysis
3
+ Version: 0.4.3
4
+ Summary: geolysis 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://docs.geolysis.io
8
+ Project-URL: Documentation, https://docs.geolysis.io
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,bearing-capacity-analysis,standard-penetration-test-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
+ <div align="center">
33
+ <img src="https://raw.githubusercontent.com/patrickboateng/geolysis/dev/docs/source/_static/branding/geolysislogo.svg"
34
+ alt="geolysislogo" width="75%" />
35
+ </div><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 Downloads](https://static.pepy.tech/badge/geolysis)](https://pepy.tech/projects/geolysis)
41
+ [![PyPI pyversions](https://img.shields.io/pypi/pyversions/geolysis.svg?logo=python&style=flat)](https://pypi.python.org/pypi/geolysis/)
42
+ [![license](https://img.shields.io/pypi/l/geolysis?style=flat&logo=opensourceinitiative)](https://opensource.org/license/mit/)
43
+
44
+ ![Coveralls Status](https://img.shields.io/coverallsCoverage/github/patrickboateng/geolysis?logo=coveralls)
45
+ [![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)
46
+ [![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)
47
+ [![Documentation Status](https://readthedocs.org/projects/geolysis/badge/?version=latest)](https://geolysis.readthedocs.io/en/latest/?badge=latest)
48
+
49
+ </div>
50
+
51
+ `geolysis` is an open-source library for geotechnical analysis and modeling.
52
+ It offers tools for soil classification, Standard Penetration Test (SPT)
53
+ analysis, and bearing capacity estimation, among others.
54
+
55
+ The `geolysis` library is among four main projects: `geolysis.gui`,
56
+ `geolysis.excel`, and `geolysis.ai`. The geolysis library powers all of these
57
+ projects.
58
+
59
+ **_The `geolysis` projects are currently under developement and not yet
60
+ publicly available_**.
61
+
62
+ **_Active development of `geolysis` occurs on the `dev` branch. For more
63
+ information on the latest features of `geolysis`, switch to the
64
+ `dev` branch_**.
65
+
66
+ Here are brief descriptions of these projects:
67
+
68
+ <table>
69
+ <tr>
70
+ <td>
71
+ <strong>geolysis.gui</strong>
72
+ </td>
73
+ <td>A graphical user interface that allows users to interact with the
74
+ geolysis library. Through this interface, users can view generated reports
75
+ and visualizations, such as Particle Size Distribution (PSD) curves,
76
+ Atterberg Limits plots, and Compaction curves, among others.
77
+ Additionally, it enables users to conduct foundation analysis and
78
+ design, among other functionalities.
79
+ </td>
80
+ </tr>
81
+ <tr>
82
+ <td>
83
+ <strong>geolysis.excel</strong>
84
+ </td>
85
+ <td>An add-in for Microsoft Excel that performs simple geotechnical
86
+ analysis. It offers some features similar to <code>geolysis.gui</code>
87
+ within Microsoft Excel.
88
+ </td>
89
+ </tr>
90
+ <tr>
91
+ <td>
92
+ <strong>geolysis.ai</strong>
93
+ </td>
94
+ <td>Offers machine learning models that are trained using geotechnical data.
95
+ </td>
96
+ </tr>
97
+ </table>
98
+
99
+ ## Project Structure
100
+
101
+ .
102
+ ├── .github # GitHub Actions
103
+ ├── docs # Documentation files
104
+ ├── geolysis # Source files
105
+ ├── tests # Automated tests
106
+ └── README.md
107
+
108
+ ## Table of Contents
109
+
110
+ - [Installation](#installation)
111
+ - [Usage Example](#usage-example)
112
+ - [Features](#features)
113
+ - [Documentation](#documentation)
114
+ - [Contributing](#contributing)
115
+ - [License](#license)
116
+ - [Contact](#contact)
117
+
118
+ ## Installation
119
+
120
+ ```shell
121
+ $ pip install geolysis
122
+ ```
123
+
124
+ ## Usage Example
125
+
126
+ ```python
127
+
128
+ >>> from geolysis.soil_classifier import create_soil_classifier
129
+ >>> uscs_clf = create_soil_classifier(liquid_limit=34.1,
130
+ ... plastic_limit=21.1,
131
+ ... fines=47.88,
132
+ ... sand=37.84,
133
+ ... clf_type="USCS")
134
+ >>> clf = uscs_clf.classify()
135
+ >>> clf
136
+ SoilClf(symbol='SC', description='Clayey sands')
137
+ >>> clf.symbol
138
+ 'SC'
139
+ >>> clf.description
140
+ 'Clayey sands'
141
+
142
+ ```
143
+
144
+ ```python
145
+
146
+ >>> from geolysis.soil_classifier import create_soil_classifier
147
+ >>> aashto_clf = create_soil_classifier(liquid_limit=34.1,
148
+ ... plastic_limit=21.1,
149
+ ... fines=47.88,
150
+ ... sand=37.84, # Sand is optional for AASHTO classification
151
+ ... clf_type="AASHTO")
152
+ >>> clf = aashto_clf.classify()
153
+ >>> clf
154
+ SoilClf(symbol='A-6(4)', description='Clayey soils')
155
+ >>> clf.symbol
156
+ 'A-6(4)'
157
+ >>> clf.description
158
+ 'Clayey soils'
159
+
160
+ ```
161
+
162
+ ## Features
163
+
164
+ | | |
165
+ |----------------------------------------------|---------------------------------------|
166
+ | **Soil Classification** | AASHTO Classification System |
167
+ | | Unified Soil Classification System |
168
+ | **Standard Penetration Test (SPT) Analysis** | SPT Energy Correction |
169
+ | | SPT Overburden Pressure Correction |
170
+ | | Dilatancy Correction |
171
+ | | SPT N-Design Calculation |
172
+ | **Bearing Capacity Estimation** | Allowable Bearing Capacity Estimation |
173
+ | | Ultimate Bearing Capacity Estimation |
174
+
175
+ ## Documentation
176
+
177
+ Full documentation is available [here](https://docs.geolysis.io/en/latest/)
178
+
179
+ ## Contributing
180
+
181
+ Contribution guidelines can be
182
+ found [here](https://docs.geolysis.io/en/latest/dev_guide/index.html)
183
+
184
+ ## License
185
+
186
+ This project is licensed under the MIT License - see the
187
+ [LICENSE](https://github.com/patrickboateng/geolysis/blob/main/LICENSE.txt)
188
+ file for more details.
189
+
190
+ ## Contact
191
+
192
+ For questions or feedback, please contact us at
193
+ [boatengpato.pb@gmail.com](mailto:boatengpato.pb@gmail.com)
@@ -0,0 +1,162 @@
1
+ <div align="center">
2
+ <img src="https://raw.githubusercontent.com/patrickboateng/geolysis/dev/docs/source/_static/branding/geolysislogo.svg"
3
+ alt="geolysislogo" width="75%" />
4
+ </div><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 Downloads](https://static.pepy.tech/badge/geolysis)](https://pepy.tech/projects/geolysis)
10
+ [![PyPI pyversions](https://img.shields.io/pypi/pyversions/geolysis.svg?logo=python&style=flat)](https://pypi.python.org/pypi/geolysis/)
11
+ [![license](https://img.shields.io/pypi/l/geolysis?style=flat&logo=opensourceinitiative)](https://opensource.org/license/mit/)
12
+
13
+ ![Coveralls Status](https://img.shields.io/coverallsCoverage/github/patrickboateng/geolysis?logo=coveralls)
14
+ [![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)
15
+ [![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)
16
+ [![Documentation Status](https://readthedocs.org/projects/geolysis/badge/?version=latest)](https://geolysis.readthedocs.io/en/latest/?badge=latest)
17
+
18
+ </div>
19
+
20
+ `geolysis` is an open-source library for geotechnical analysis and modeling.
21
+ It offers tools for soil classification, Standard Penetration Test (SPT)
22
+ analysis, and bearing capacity estimation, among others.
23
+
24
+ The `geolysis` library is among four main projects: `geolysis.gui`,
25
+ `geolysis.excel`, and `geolysis.ai`. The geolysis library powers all of these
26
+ projects.
27
+
28
+ **_The `geolysis` projects are currently under developement and not yet
29
+ publicly available_**.
30
+
31
+ **_Active development of `geolysis` occurs on the `dev` branch. For more
32
+ information on the latest features of `geolysis`, switch to the
33
+ `dev` branch_**.
34
+
35
+ Here are brief descriptions of these projects:
36
+
37
+ <table>
38
+ <tr>
39
+ <td>
40
+ <strong>geolysis.gui</strong>
41
+ </td>
42
+ <td>A graphical user interface that allows users to interact with the
43
+ geolysis library. Through this interface, users can view generated reports
44
+ and visualizations, such as Particle Size Distribution (PSD) curves,
45
+ Atterberg Limits plots, and Compaction curves, among others.
46
+ Additionally, it enables users to conduct foundation analysis and
47
+ design, among other functionalities.
48
+ </td>
49
+ </tr>
50
+ <tr>
51
+ <td>
52
+ <strong>geolysis.excel</strong>
53
+ </td>
54
+ <td>An add-in for Microsoft Excel that performs simple geotechnical
55
+ analysis. It offers some features similar to <code>geolysis.gui</code>
56
+ within Microsoft Excel.
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td>
61
+ <strong>geolysis.ai</strong>
62
+ </td>
63
+ <td>Offers machine learning models that are trained using geotechnical data.
64
+ </td>
65
+ </tr>
66
+ </table>
67
+
68
+ ## Project Structure
69
+
70
+ .
71
+ ├── .github # GitHub Actions
72
+ ├── docs # Documentation files
73
+ ├── geolysis # Source files
74
+ ├── tests # Automated tests
75
+ └── README.md
76
+
77
+ ## Table of Contents
78
+
79
+ - [Installation](#installation)
80
+ - [Usage Example](#usage-example)
81
+ - [Features](#features)
82
+ - [Documentation](#documentation)
83
+ - [Contributing](#contributing)
84
+ - [License](#license)
85
+ - [Contact](#contact)
86
+
87
+ ## Installation
88
+
89
+ ```shell
90
+ $ pip install geolysis
91
+ ```
92
+
93
+ ## Usage Example
94
+
95
+ ```python
96
+
97
+ >>> from geolysis.soil_classifier import create_soil_classifier
98
+ >>> uscs_clf = create_soil_classifier(liquid_limit=34.1,
99
+ ... plastic_limit=21.1,
100
+ ... fines=47.88,
101
+ ... sand=37.84,
102
+ ... clf_type="USCS")
103
+ >>> clf = uscs_clf.classify()
104
+ >>> clf
105
+ SoilClf(symbol='SC', description='Clayey sands')
106
+ >>> clf.symbol
107
+ 'SC'
108
+ >>> clf.description
109
+ 'Clayey sands'
110
+
111
+ ```
112
+
113
+ ```python
114
+
115
+ >>> from geolysis.soil_classifier import create_soil_classifier
116
+ >>> aashto_clf = create_soil_classifier(liquid_limit=34.1,
117
+ ... plastic_limit=21.1,
118
+ ... fines=47.88,
119
+ ... sand=37.84, # Sand is optional for AASHTO classification
120
+ ... clf_type="AASHTO")
121
+ >>> clf = aashto_clf.classify()
122
+ >>> clf
123
+ SoilClf(symbol='A-6(4)', description='Clayey soils')
124
+ >>> clf.symbol
125
+ 'A-6(4)'
126
+ >>> clf.description
127
+ 'Clayey soils'
128
+
129
+ ```
130
+
131
+ ## Features
132
+
133
+ | | |
134
+ |----------------------------------------------|---------------------------------------|
135
+ | **Soil Classification** | AASHTO Classification System |
136
+ | | Unified Soil Classification System |
137
+ | **Standard Penetration Test (SPT) Analysis** | SPT Energy Correction |
138
+ | | SPT Overburden Pressure Correction |
139
+ | | Dilatancy Correction |
140
+ | | SPT N-Design Calculation |
141
+ | **Bearing Capacity Estimation** | Allowable Bearing Capacity Estimation |
142
+ | | Ultimate Bearing Capacity Estimation |
143
+
144
+ ## Documentation
145
+
146
+ Full documentation is available [here](https://docs.geolysis.io/en/latest/)
147
+
148
+ ## Contributing
149
+
150
+ Contribution guidelines can be
151
+ found [here](https://docs.geolysis.io/en/latest/dev_guide/index.html)
152
+
153
+ ## License
154
+
155
+ This project is licensed under the MIT License - see the
156
+ [LICENSE](https://github.com/patrickboateng/geolysis/blob/main/LICENSE.txt)
157
+ file for more details.
158
+
159
+ ## Contact
160
+
161
+ For questions or feedback, please contact us at
162
+ [boatengpato.pb@gmail.com](mailto:boatengpato.pb@gmail.com)
@@ -0,0 +1 @@
1
+ __version__ = "0.4.3"