geolysis 0.2.0__tar.gz → 0.3.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 (41) hide show
  1. {geolysis-0.2.0 → geolysis-0.3.0}/LICENSE.txt +1 -1
  2. geolysis-0.3.0/PKG-INFO +223 -0
  3. geolysis-0.3.0/README.md +189 -0
  4. geolysis-0.3.0/geolysis/__init__.py +3 -0
  5. {geolysis-0.2.0/geolysis → geolysis-0.3.0/geolysis/core}/__init__.py +2 -4
  6. geolysis-0.3.0/geolysis/core/abc_4_cohl_soils.py +495 -0
  7. geolysis-0.3.0/geolysis/core/constants.py +47 -0
  8. geolysis-0.3.0/geolysis/core/estimators.py +549 -0
  9. geolysis-0.3.0/geolysis/core/foundation.py +543 -0
  10. geolysis-0.3.0/geolysis/core/soil_classifier.py +859 -0
  11. geolysis-0.3.0/geolysis/core/spt.py +633 -0
  12. geolysis-0.3.0/geolysis/core/utils.py +113 -0
  13. geolysis-0.3.0/geolysis.egg-info/PKG-INFO +223 -0
  14. {geolysis-0.2.0 → geolysis-0.3.0}/geolysis.egg-info/SOURCES.txt +10 -10
  15. {geolysis-0.2.0 → geolysis-0.3.0}/geolysis.egg-info/requires.txt +1 -0
  16. {geolysis-0.2.0 → geolysis-0.3.0}/pyproject.toml +19 -24
  17. geolysis-0.3.0/setup.cfg +4 -0
  18. geolysis-0.3.0/tests/test_abc_4_cohl_soils.py +1 -0
  19. geolysis-0.3.0/tests/test_estimators.py +21 -0
  20. geolysis-0.3.0/tests/test_foundation.py +74 -0
  21. {geolysis-0.2.0 → geolysis-0.3.0}/tests/test_soil_classifier.py +25 -26
  22. geolysis-0.3.0/tests/test_spt.py +54 -0
  23. {geolysis-0.2.0 → geolysis-0.3.0}/tests/test_utils.py +2 -8
  24. geolysis-0.2.0/PKG-INFO +0 -193
  25. geolysis-0.2.0/README.md +0 -138
  26. geolysis-0.2.0/geolysis/bearing_capacity/__init__.py +0 -1
  27. geolysis-0.2.0/geolysis/bearing_capacity/abc.py +0 -335
  28. geolysis-0.2.0/geolysis/constants.py +0 -19
  29. geolysis-0.2.0/geolysis/estimators.py +0 -255
  30. geolysis-0.2.0/geolysis/foundation.py +0 -176
  31. geolysis-0.2.0/geolysis/soil_classifier.py +0 -658
  32. geolysis-0.2.0/geolysis/spt.py +0 -424
  33. geolysis-0.2.0/geolysis/utils.py +0 -106
  34. geolysis-0.2.0/geolysis.egg-info/PKG-INFO +0 -193
  35. geolysis-0.2.0/setup.cfg +0 -11
  36. geolysis-0.2.0/tests/test_bearing_capacity.py +0 -103
  37. geolysis-0.2.0/tests/test_estimators.py +0 -87
  38. geolysis-0.2.0/tests/test_spt.py +0 -130
  39. {geolysis-0.2.0 → geolysis-0.3.0}/geolysis.egg-info/dependency_links.txt +0 -0
  40. {geolysis-0.2.0 → geolysis-0.3.0}/geolysis.egg-info/top_level.txt +0 -0
  41. {geolysis-0.2.0 → geolysis-0.3.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023 geolysis
3
+ Copyright (c) 2024 geolysis
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,223 @@
1
+ Metadata-Version: 2.1
2
+ Name: geolysis
3
+ Version: 0.3.0
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: Repository, https://github.com/patrickboateng/geolysis
9
+ Project-URL: Changelog, https://github.com/patrickboateng/geolysis/blob/main/CHANGELOG.md
10
+ Project-URL: Issue Tracker, https://github.com/patrickboateng/geolysis/issues
11
+ Project-URL: Discussions, https://github.com/patrickboateng/geolysis/discussions
12
+ Keywords: discrete-element-method,geotechnical-engineering,soil-classification,settlement-analysis,bearing-capacity-analysis
13
+ Classifier: Development Status :: 3 - Alpha
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.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: Implementation :: CPython
24
+ Classifier: Topic :: Scientific/Engineering
25
+ Requires-Python: >=3.10
26
+ Description-Content-Type: text/markdown
27
+ License-File: LICENSE.txt
28
+ Provides-Extra: dev
29
+ Requires-Dist: black; extra == "dev"
30
+ Requires-Dist: pytest; extra == "dev"
31
+ Requires-Dist: mypy; extra == "dev"
32
+ Requires-Dist: pytest-cov; extra == "dev"
33
+ Requires-Dist: coverage; extra == "dev"
34
+
35
+ [code_of_conduct_url]: https://github.com/patrickboateng/geolysis/blob/main/CODE_OF_CONDUCT.md/
36
+ [contributing_url]: https://github.com/patrickboateng/geolysis/blob/main/docs/CONTRIBUTING.md#how-to-contribute
37
+ [license_url]: https://github.com/patrickboateng/geolysis/blob/main/LICENSE.txt
38
+
39
+ # geolysis
40
+
41
+ <div align="center">
42
+
43
+ [![PyPI Latest Release](https://img.shields.io/pypi/v/geolysis?style=flat&logo=pypi)](https://pypi.org/project/geolysis/)
44
+ [![PyPI pyversions](https://img.shields.io/pypi/pyversions/geolysis.svg?logo=python&style=flat)](https://pypi.python.org/pypi/geolysis/)
45
+ [![license](https://img.shields.io/pypi/l/geolysis?style=flat&logo=opensourceinitiative)](https://opensource.org/license/mit/)
46
+
47
+ ![Coveralls Status](https://img.shields.io/coverallsCoverage/github/patrickboateng/geolysis?logo=coveralls)
48
+ [![Unit-Tests](https://github.com/patrickboateng/geolysis/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/patrickboateng/geolysis/actions/workflows/unit-tests.yml)
49
+ [![Pkg Build](https://github.com/patrickboateng/geolysis/actions/workflows/pkg_build.yml/badge.svg)](https://github.com/patrickboateng/geolysis/actions/workflows/pkg_build.yml)
50
+ [![Documentation Status](https://readthedocs.org/projects/geolysis/badge/?version=latest)](https://geolysis.readthedocs.io/en/latest/?badge=latest)
51
+
52
+ </div>
53
+
54
+ #
55
+
56
+ `geolysis` is your one-stop shop for all your geotechnical engineering
57
+ solutions, ranging from site investigation and laboratory test analysis
58
+ to advanced geotechnical designs.
59
+
60
+ `geolysis` is divided into four (4) main parts:
61
+
62
+ 1. `geolyis.core (Python Package)`
63
+
64
+ `geolysis.core` is an open-source Python package that provides features
65
+ for analyzing geotechnical results obtained from field and laboratory
66
+ tests. `geolysis.core` is designed specifically to assist developers
67
+ in building applications that can solve complex geotechnical
68
+ problems.
69
+
70
+ Whether you're working on soil mechanics, rock mechanics, or any other
71
+ geotechnical field, `geolysis.core` provides a powerful set of tools
72
+ that can help you design and develop robust solutions. With an
73
+ intuitive API and a wide range of features, this software is an
74
+ essential tool for anyone who needs to work with geotechnical data on
75
+ a regular basis. Whether you're a seasoned geotechnical engineer or a
76
+ new developer just getting started in the field, `geolysis.core` is
77
+ the ideal solution for all your software development needs.
78
+
79
+ Some of the features implemented so far include soil classification,
80
+ standard penetration test analysis (such as SPT N-design and SPT
81
+ N-value corrections), and calculating the allowable bearing capacity of
82
+ soils from Standard Penetration Test N-values. There are more features
83
+ underway, which include settlement analysis, ultimate bearing capacity
84
+ analysis, etc.
85
+
86
+ `geolysis.core` is the foundation application on which other parts of the
87
+ application will depend. Developers can also use `geolysis.core` to power
88
+ their applications.
89
+
90
+ 1. `geolysis.ui (Qt, PySide6)`
91
+
92
+ `geolysis.ui` is a Graphical User Interface (GUI) which will enable
93
+ users to graphically interact with `geolysis`. User will be able to
94
+ input data and view generated plots, such as `PSD` curves,
95
+ `Atterberg Limits` plots, `Compaction` curves, etc within the application.
96
+
97
+ 1. `geolysis.excel (Javascript & Others)`
98
+
99
+ `geolysis.excel` provides a Microsoft Excel add-in for simple geotechnical
100
+ analysis. _More on this later._
101
+
102
+ 1. `geolysis.ai (Python, Pytorch & Others)`
103
+
104
+ `geolysis.ai` explores the use of Artificial Intelligence (**AI**) in
105
+ enhancing productivity in Geotechnical Engineering.
106
+
107
+ ## Project Links
108
+
109
+ - [Documentation](https://geolysis.readthedocs.org/en/latest)
110
+ - [Repo](https://github.com/patrickboateng/geolysis)
111
+ - [PyPi](https://pypi.org/project/geolysis/)
112
+ - [Bug Reports](https://github.com/patrickboateng/geolysis/issues)
113
+ - [Discussions](https://github.com/patrickboateng/geolysis/discussions)
114
+
115
+ <!-- > [!IMPORTANT]
116
+ > Project documentation is underway -->
117
+
118
+ ## Table of Contents
119
+
120
+ - [Motivation](#motivation)
121
+ - [Installation](#installation)
122
+ - [Getting Started](#getting-started)
123
+ - [Soil Classification Example](#soil-classification-example)
124
+ - [Release History](#release-history)
125
+ - [Code of Conduct](#code-of-conduct)
126
+ - [Contributing](#contributing)
127
+ - [License](#license)
128
+ - [Governance of this project](#governance-of-this-project)
129
+ - [Contact Information](#contact-information)
130
+
131
+ ## Motivation
132
+
133
+ `geolysis` is a software solution that aims to support geotechnical
134
+ engineers in their daily work by providing a set of tools that makes
135
+ them perform their tasks in a more efficient and effective manner.
136
+ Moreover, the platform is designed to educate civil engineering
137
+ students, especially those who specialize in geotechnical engineering,
138
+ by exposing them to industry-relevant tools and techniques that will
139
+ help them become industry-ready professionals as soon as they graduate.
140
+ With `geolysis`, users will be better equipped to handle geotechnical
141
+ challenges, make informed decisions, and improve their overall
142
+ productivity.
143
+
144
+ ## Installation
145
+
146
+ ```shell
147
+ pip install geolysis
148
+ ```
149
+
150
+ ## Getting Started
151
+
152
+ ### Soil Classification Example
153
+
154
+ AASHTO classification
155
+
156
+ ```python
157
+
158
+ >>> from geolysis.core.soil_classifier import AASHTO
159
+ >>> aashto_cls = AASHTO(liquid_limit=30.2, plasticity_index=6.3, fines=11.18)
160
+ >>> aashto_cls.soil_class
161
+ 'A-2-4(0)'
162
+ >>> aashto_cls.soil_desc
163
+ 'Silty or clayey gravel and sand'
164
+
165
+ ```
166
+
167
+ USCS Classification
168
+
169
+ ```python
170
+
171
+ >>> from geolysis.core.soil_classifier import USCS
172
+ >>> uscs_cls = USCS(liquid_limit=34.1, plastic_limit=21.1,
173
+ ... fines=47.88, sand=37.84, gravel=14.8)
174
+ >>> uscs_cls.soil_class
175
+ 'SC'
176
+ >>> uscs_cls.soil_desc
177
+ 'Clayey sands'
178
+ >>> uscs_cls = USCS(liquid_limit=30.8, plastic_limit=20.7, fines=10.29,
179
+ ... sand=81.89, gravel=7.83, d_10=0.07, d_30=0.3, d_60=0.8)
180
+ >>> uscs_cls.soil_class
181
+ 'SW-SC'
182
+ >>> uscs_cls.soil_desc
183
+ 'Well graded sand with clay'
184
+
185
+ ```
186
+
187
+ <!-- See the [Quick start section] of the docs for more examples. -->
188
+
189
+ ## Release History
190
+
191
+ Check out the [release notes](https://geolysis.rtfd.io/en/latest/release_notes/index.html)
192
+ for features.
193
+
194
+ ## Code of Conduct
195
+
196
+ This project has a [code of conduct][code_of_conduct_url] that
197
+ we expect all contributors to adhere to. Please read and follow
198
+ it when participating in this project.
199
+
200
+ ## Contributing
201
+
202
+ If you would like to contribute to this project, please read
203
+ the [contributing guidelines][contributing_url]
204
+
205
+ ## License
206
+
207
+ Distributed under the [**MIT**][license_url] license. By using,
208
+ distributing, or contributing to this project, you agree to the
209
+ terms and conditions of this license.
210
+
211
+ ## Governance of this project
212
+
213
+ `geolysis.core` is still developing relatively rapidly, so please
214
+ be patient if things change or features iterate and change quickly.
215
+ Once `geolysis.core` hits `1.0.0`, it will slow down considerably.
216
+
217
+ ## Contact Information
218
+
219
+ - [**LinkedIn**](https://linkedin.com/in/patrickboateng/)
220
+
221
+ > [!IMPORTANT]
222
+ > For questions or comments about `geolysis`, please ask them in the
223
+ > [discussions forum](https://github.com/patrickboateng/geolysis/discussions)
@@ -0,0 +1,189 @@
1
+ [code_of_conduct_url]: https://github.com/patrickboateng/geolysis/blob/main/CODE_OF_CONDUCT.md/
2
+ [contributing_url]: https://github.com/patrickboateng/geolysis/blob/main/docs/CONTRIBUTING.md#how-to-contribute
3
+ [license_url]: https://github.com/patrickboateng/geolysis/blob/main/LICENSE.txt
4
+
5
+ # geolysis
6
+
7
+ <div align="center">
8
+
9
+ [![PyPI Latest Release](https://img.shields.io/pypi/v/geolysis?style=flat&logo=pypi)](https://pypi.org/project/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
+ [![Unit-Tests](https://github.com/patrickboateng/geolysis/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/patrickboateng/geolysis/actions/workflows/unit-tests.yml)
15
+ [![Pkg Build](https://github.com/patrickboateng/geolysis/actions/workflows/pkg_build.yml/badge.svg)](https://github.com/patrickboateng/geolysis/actions/workflows/pkg_build.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
+ #
21
+
22
+ `geolysis` is your one-stop shop for all your geotechnical engineering
23
+ solutions, ranging from site investigation and laboratory test analysis
24
+ to advanced geotechnical designs.
25
+
26
+ `geolysis` is divided into four (4) main parts:
27
+
28
+ 1. `geolyis.core (Python Package)`
29
+
30
+ `geolysis.core` is an open-source Python package that provides features
31
+ for analyzing geotechnical results obtained from field and laboratory
32
+ tests. `geolysis.core` is designed specifically to assist developers
33
+ in building applications that can solve complex geotechnical
34
+ problems.
35
+
36
+ Whether you're working on soil mechanics, rock mechanics, or any other
37
+ geotechnical field, `geolysis.core` provides a powerful set of tools
38
+ that can help you design and develop robust solutions. With an
39
+ intuitive API and a wide range of features, this software is an
40
+ essential tool for anyone who needs to work with geotechnical data on
41
+ a regular basis. Whether you're a seasoned geotechnical engineer or a
42
+ new developer just getting started in the field, `geolysis.core` is
43
+ the ideal solution for all your software development needs.
44
+
45
+ Some of the features implemented so far include soil classification,
46
+ standard penetration test analysis (such as SPT N-design and SPT
47
+ N-value corrections), and calculating the allowable bearing capacity of
48
+ soils from Standard Penetration Test N-values. There are more features
49
+ underway, which include settlement analysis, ultimate bearing capacity
50
+ analysis, etc.
51
+
52
+ `geolysis.core` is the foundation application on which other parts of the
53
+ application will depend. Developers can also use `geolysis.core` to power
54
+ their applications.
55
+
56
+ 1. `geolysis.ui (Qt, PySide6)`
57
+
58
+ `geolysis.ui` is a Graphical User Interface (GUI) which will enable
59
+ users to graphically interact with `geolysis`. User will be able to
60
+ input data and view generated plots, such as `PSD` curves,
61
+ `Atterberg Limits` plots, `Compaction` curves, etc within the application.
62
+
63
+ 1. `geolysis.excel (Javascript & Others)`
64
+
65
+ `geolysis.excel` provides a Microsoft Excel add-in for simple geotechnical
66
+ analysis. _More on this later._
67
+
68
+ 1. `geolysis.ai (Python, Pytorch & Others)`
69
+
70
+ `geolysis.ai` explores the use of Artificial Intelligence (**AI**) in
71
+ enhancing productivity in Geotechnical Engineering.
72
+
73
+ ## Project Links
74
+
75
+ - [Documentation](https://geolysis.readthedocs.org/en/latest)
76
+ - [Repo](https://github.com/patrickboateng/geolysis)
77
+ - [PyPi](https://pypi.org/project/geolysis/)
78
+ - [Bug Reports](https://github.com/patrickboateng/geolysis/issues)
79
+ - [Discussions](https://github.com/patrickboateng/geolysis/discussions)
80
+
81
+ <!-- > [!IMPORTANT]
82
+ > Project documentation is underway -->
83
+
84
+ ## Table of Contents
85
+
86
+ - [Motivation](#motivation)
87
+ - [Installation](#installation)
88
+ - [Getting Started](#getting-started)
89
+ - [Soil Classification Example](#soil-classification-example)
90
+ - [Release History](#release-history)
91
+ - [Code of Conduct](#code-of-conduct)
92
+ - [Contributing](#contributing)
93
+ - [License](#license)
94
+ - [Governance of this project](#governance-of-this-project)
95
+ - [Contact Information](#contact-information)
96
+
97
+ ## Motivation
98
+
99
+ `geolysis` is a software solution that aims to support geotechnical
100
+ engineers in their daily work by providing a set of tools that makes
101
+ them perform their tasks in a more efficient and effective manner.
102
+ Moreover, the platform is designed to educate civil engineering
103
+ students, especially those who specialize in geotechnical engineering,
104
+ by exposing them to industry-relevant tools and techniques that will
105
+ help them become industry-ready professionals as soon as they graduate.
106
+ With `geolysis`, users will be better equipped to handle geotechnical
107
+ challenges, make informed decisions, and improve their overall
108
+ productivity.
109
+
110
+ ## Installation
111
+
112
+ ```shell
113
+ pip install geolysis
114
+ ```
115
+
116
+ ## Getting Started
117
+
118
+ ### Soil Classification Example
119
+
120
+ AASHTO classification
121
+
122
+ ```python
123
+
124
+ >>> from geolysis.core.soil_classifier import AASHTO
125
+ >>> aashto_cls = AASHTO(liquid_limit=30.2, plasticity_index=6.3, fines=11.18)
126
+ >>> aashto_cls.soil_class
127
+ 'A-2-4(0)'
128
+ >>> aashto_cls.soil_desc
129
+ 'Silty or clayey gravel and sand'
130
+
131
+ ```
132
+
133
+ USCS Classification
134
+
135
+ ```python
136
+
137
+ >>> from geolysis.core.soil_classifier import USCS
138
+ >>> uscs_cls = USCS(liquid_limit=34.1, plastic_limit=21.1,
139
+ ... fines=47.88, sand=37.84, gravel=14.8)
140
+ >>> uscs_cls.soil_class
141
+ 'SC'
142
+ >>> uscs_cls.soil_desc
143
+ 'Clayey sands'
144
+ >>> uscs_cls = USCS(liquid_limit=30.8, plastic_limit=20.7, fines=10.29,
145
+ ... sand=81.89, gravel=7.83, d_10=0.07, d_30=0.3, d_60=0.8)
146
+ >>> uscs_cls.soil_class
147
+ 'SW-SC'
148
+ >>> uscs_cls.soil_desc
149
+ 'Well graded sand with clay'
150
+
151
+ ```
152
+
153
+ <!-- See the [Quick start section] of the docs for more examples. -->
154
+
155
+ ## Release History
156
+
157
+ Check out the [release notes](https://geolysis.rtfd.io/en/latest/release_notes/index.html)
158
+ for features.
159
+
160
+ ## Code of Conduct
161
+
162
+ This project has a [code of conduct][code_of_conduct_url] that
163
+ we expect all contributors to adhere to. Please read and follow
164
+ it when participating in this project.
165
+
166
+ ## Contributing
167
+
168
+ If you would like to contribute to this project, please read
169
+ the [contributing guidelines][contributing_url]
170
+
171
+ ## License
172
+
173
+ Distributed under the [**MIT**][license_url] license. By using,
174
+ distributing, or contributing to this project, you agree to the
175
+ terms and conditions of this license.
176
+
177
+ ## Governance of this project
178
+
179
+ `geolysis.core` is still developing relatively rapidly, so please
180
+ be patient if things change or features iterate and change quickly.
181
+ Once `geolysis.core` hits `1.0.0`, it will slow down considerably.
182
+
183
+ ## Contact Information
184
+
185
+ - [**LinkedIn**](https://linkedin.com/in/patrickboateng/)
186
+
187
+ > [!IMPORTANT]
188
+ > For questions or comments about `geolysis`, please ask them in the
189
+ > [discussions forum](https://github.com/patrickboateng/geolysis/discussions)
@@ -0,0 +1,3 @@
1
+ from . import core
2
+
3
+ __version__ = "0.3.0"
@@ -1,5 +1,5 @@
1
- from . import (
2
- bearing_capacity,
1
+ from geolysis.core import (
2
+ abc_4_cohl_soils,
3
3
  constants,
4
4
  estimators,
5
5
  foundation,
@@ -7,5 +7,3 @@ from . import (
7
7
  spt,
8
8
  utils,
9
9
  )
10
-
11
- __version__ = "0.2.0"