<p align="center">
<font size=7><a href="https://github.com/yexiang1992/opstool">opstool</a></font>
<p align="center"><font size=5 color=YellowGreen>modelling, visualization, post-processing for OpenSeesPy.</font></p>
</p>
[![pypi](https://img.shields.io/pypi/v/opstool)](https://pypi.org/project/opstool/)
[![Downloads](https://static.pepy.tech/badge/opstool)](https://pepy.tech/project/opstool)
[![Documentation Status](https://readthedocs.org/projects/opstool/badge/?version=latest)](https://opstool.readthedocs.io/en/latest/?badge=latest)
[![github stars](https://img.shields.io/github/stars/yexiang1992/opstool?style=social)](https://github.com/yexiang1992/opstool)
![license](https://img.shields.io/github/license/yexiang1992/opstool)
[![code grade](https://img.shields.io/codefactor/grade/github/yexiang1992/opstool)](https://www.codefactor.io/repository/github/yexiang1992/opstool)
`opstool` is a useful toolbox package aims to help [OpenSeesPy](https://openseespydoc.readthedocs.io/en/latest/) _pre-processing_, _visualization_, _analysis-aid_, etc.
The package is still under development.
To use, install `opstool` from [opstool-PyPI](https://pypi.org/project/opstool/):
```python
pip install --upgrade opstool
```
The restriction on the python version mainly depends on `openseespy`,
it is recommended that you use [Anaconda](https://www.anaconda.com/) to avoid library version incompatibilities.
### Document
**Latest**: See [https://opstool.readthedocs.io/en/latest/](https://opstool.readthedocs.io/en/latest/).
**Stable**: See [https://opstool.readthedocs.io/en/stable/](https://opstool.readthedocs.io/en/stable/)
### Visualization
#### Based on [plotly](https://plotly.com/python/)
| Model | Modal | Deformation |
| :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2023/03/27/CvGfgAi6IMlw9JQ.png) | ![](https://s2.loli.net/2023/03/27/r1NaUGuiEcjJMYn.png) | ![](https://s2.loli.net/2023/03/27/TzL3YsmPQU1nlx8.png) |
| ![](https://s2.loli.net/2023/03/27/cUXb3oJF6BuqpCg.png) | ![](https://s2.loli.net/2023/03/27/LstpljZ6SWqJCzU.png) | ![](https://s2.loli.net/2023/03/27/ejBhzgDwR4NAcdM.png) |
| ![](https://s2.loli.net/2023/03/27/hSYqerWg9O5xmvB.png) | ![](https://s2.loli.net/2023/03/27/MWqZnDu8hUF4wBt.png) | ![](https://s2.loli.net/2023/03/27/1yVpOlzWgHGLBRC.png) |
<!-- ![CableBridgeModelVis.png](https://s2.loli.net/2022/12/02/iPhmRDaO83AVkbv.png)
![CableBridgeEigenVis.png](https://s2.loli.net/2022/12/02/3UzvQldb8CSIYJw.png)
![CableBridgeDefoVis.png](https://s2.loli.net/2022/12/02/qV2XzOkiMQTRl5D.png) -->
#### Based on [pyvista](https://docs.pyvista.org/)
| Model | Eigen | Deformation |
| :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2023/03/27/NfVY135ibDSdCgj.png) | ![](https://s2.loli.net/2023/03/27/r1NaUGuiEcjJMYn.png) | ![](https://s2.loli.net/2023/03/27/EMo5lJx2eC9zSm4.png) |
| ![](https://s2.loli.net/2023/03/27/YWVnahNiwgFS6tE.png) | ![](https://s2.loli.net/2023/03/27/vFuV8IfHosRJYkG.png) | ![](https://s2.loli.net/2023/03/27/KFzs3qoy2cEWl7u.png) |
| ![](https://s2.loli.net/2023/03/27/fPgMBHSrNJazbCI.png) | ![](https://s2.loli.net/2023/03/27/Ei9tMheJm5LPuax.png) | ![](https://s2.loli.net/2023/03/27/xE1CycfZYhTW6OX.png) |
<!-- ![None.png](https://s2.loli.net/2022/12/07/TElXvIoDZFAfysc.png)
![None.png](https://s2.loli.net/2022/12/07/bMqL2kKHpN4XBeZ.png) -->
#### Animation
| Eigen | Deformation |
| :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2022/12/07/akOEebwrNZCuj2V.gif) | ![](https://s2.loli.net/2022/12/07/KVEYO6eC8hlWvXg.gif) |
#### Fiber section vis
| ✅ | ✅ |
| :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2022/12/03/jwvVecT3GCWbdBI.png) | ![](https://s2.loli.net/2022/12/03/NQ5VOA6iUFtY9af.png) |
### Fiber Section Mesh Generation
| ✅ | ✅ | ✅ |
| :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2023/03/27/bRYlfP8vNLEeJxF.png) | ![](https://s2.loli.net/2023/03/27/XfPkFKYmZEWJqnc.png) | ![](https://s2.loli.net/2023/03/27/YuwXlkZCIQRnsiK.png) |
| ![](https://s2.loli.net/2023/03/27/z2JvO3B9GD8EnkC.png) | ![](https://s2.loli.net/2023/03/27/ci3DtqojAy9zfeH.png) | ![](https://s2.loli.net/2023/03/27/Ss3rlzUv7u2Pjp6.png) |
### Moment-Curvature Analysis of Fiber Section
| Section Mesh | Moment-Curvature Analysis |
| :-----------------------------------------------------: | :-----------------------------------------------------: |
| ![](https://s2.loli.net/2023/03/27/z6S4sL8RbfeApV7.png) | ![](https://s2.loli.net/2023/03/27/lGFdgMypkxHW3PU.png) |
### License
This software is published under the [GPLv3 license](https://www.gnu.org/licenses/gpl-3.0.en.html).
Raw data
{
"_id": null,
"home_page": "https://github.com/yexiang1992",
"name": "opstool",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "OpenSees Visualization Seismic Simulation",
"author": "Yexiang Yan",
"author_email": "yexiang_yan@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/9b/92/c7906044fb7d7214064ffb541a0539e8307a35bca0307c94396526295669/opstool-0.8.7.tar.gz",
"platform": "any",
"description": "<p align=\"center\">\r\n <font size=7><a href=\"https://github.com/yexiang1992/opstool\">opstool</a></font>\r\n <p align=\"center\"><font size=5 color=YellowGreen>modelling, visualization, post-processing for OpenSeesPy.</font></p>\r\n</p>\r\n\r\n[![pypi](https://img.shields.io/pypi/v/opstool)](https://pypi.org/project/opstool/)\r\n[![Downloads](https://static.pepy.tech/badge/opstool)](https://pepy.tech/project/opstool)\r\n[![Documentation Status](https://readthedocs.org/projects/opstool/badge/?version=latest)](https://opstool.readthedocs.io/en/latest/?badge=latest)\r\n[![github stars](https://img.shields.io/github/stars/yexiang1992/opstool?style=social)](https://github.com/yexiang1992/opstool)\r\n![license](https://img.shields.io/github/license/yexiang1992/opstool)\r\n[![code grade](https://img.shields.io/codefactor/grade/github/yexiang1992/opstool)](https://www.codefactor.io/repository/github/yexiang1992/opstool)\r\n\r\n`opstool` is a useful toolbox package aims to help [OpenSeesPy](https://openseespydoc.readthedocs.io/en/latest/) _pre-processing_, _visualization_, _analysis-aid_, etc.\r\nThe package is still under development.\r\n\r\nTo use, install `opstool` from [opstool-PyPI](https://pypi.org/project/opstool/):\r\n\r\n```python\r\npip install --upgrade opstool\r\n```\r\n\r\nThe restriction on the python version mainly depends on `openseespy`,\r\nit is recommended that you use [Anaconda](https://www.anaconda.com/) to avoid library version incompatibilities.\r\n\r\n### Document\r\n\r\n**Latest**: See [https://opstool.readthedocs.io/en/latest/](https://opstool.readthedocs.io/en/latest/).\r\n\r\n**Stable**: See [https://opstool.readthedocs.io/en/stable/](https://opstool.readthedocs.io/en/stable/)\r\n\r\n### Visualization\r\n\r\n#### Based on [plotly](https://plotly.com/python/)\r\n\r\n| Model | Modal | Deformation |\r\n| :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: |\r\n| ![](https://s2.loli.net/2023/03/27/CvGfgAi6IMlw9JQ.png) | ![](https://s2.loli.net/2023/03/27/r1NaUGuiEcjJMYn.png) | ![](https://s2.loli.net/2023/03/27/TzL3YsmPQU1nlx8.png) |\r\n| ![](https://s2.loli.net/2023/03/27/cUXb3oJF6BuqpCg.png) | ![](https://s2.loli.net/2023/03/27/LstpljZ6SWqJCzU.png) | ![](https://s2.loli.net/2023/03/27/ejBhzgDwR4NAcdM.png) |\r\n| ![](https://s2.loli.net/2023/03/27/hSYqerWg9O5xmvB.png) | ![](https://s2.loli.net/2023/03/27/MWqZnDu8hUF4wBt.png) | ![](https://s2.loli.net/2023/03/27/1yVpOlzWgHGLBRC.png) |\r\n\r\n<!-- ![CableBridgeModelVis.png](https://s2.loli.net/2022/12/02/iPhmRDaO83AVkbv.png)\r\n\r\n![CableBridgeEigenVis.png](https://s2.loli.net/2022/12/02/3UzvQldb8CSIYJw.png)\r\n\r\n![CableBridgeDefoVis.png](https://s2.loli.net/2022/12/02/qV2XzOkiMQTRl5D.png) -->\r\n\r\n#### Based on [pyvista](https://docs.pyvista.org/)\r\n\r\n| Model | Eigen | Deformation |\r\n| :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: |\r\n| ![](https://s2.loli.net/2023/03/27/NfVY135ibDSdCgj.png) | ![](https://s2.loli.net/2023/03/27/r1NaUGuiEcjJMYn.png) | ![](https://s2.loli.net/2023/03/27/EMo5lJx2eC9zSm4.png) |\r\n| ![](https://s2.loli.net/2023/03/27/YWVnahNiwgFS6tE.png) | ![](https://s2.loli.net/2023/03/27/vFuV8IfHosRJYkG.png) | ![](https://s2.loli.net/2023/03/27/KFzs3qoy2cEWl7u.png) |\r\n| ![](https://s2.loli.net/2023/03/27/fPgMBHSrNJazbCI.png) | ![](https://s2.loli.net/2023/03/27/Ei9tMheJm5LPuax.png) | ![](https://s2.loli.net/2023/03/27/xE1CycfZYhTW6OX.png) |\r\n\r\n<!-- ![None.png](https://s2.loli.net/2022/12/07/TElXvIoDZFAfysc.png)\r\n\r\n![None.png](https://s2.loli.net/2022/12/07/bMqL2kKHpN4XBeZ.png) -->\r\n\r\n#### Animation\r\n\r\n| Eigen | Deformation |\r\n| :-----------------------------------------------------: | :-----------------------------------------------------: |\r\n| ![](https://s2.loli.net/2022/12/07/akOEebwrNZCuj2V.gif) | ![](https://s2.loli.net/2022/12/07/KVEYO6eC8hlWvXg.gif) |\r\n\r\n#### Fiber section vis\r\n\r\n| ✅ | ✅ |\r\n| :-----------------------------------------------------: | :-----------------------------------------------------: |\r\n| ![](https://s2.loli.net/2022/12/03/jwvVecT3GCWbdBI.png) | ![](https://s2.loli.net/2022/12/03/NQ5VOA6iUFtY9af.png) |\r\n\r\n### Fiber Section Mesh Generation\r\n\r\n| ✅ | ✅ | ✅ |\r\n| :-----------------------------------------------------: | :-----------------------------------------------------: | :-----------------------------------------------------: |\r\n| ![](https://s2.loli.net/2023/03/27/bRYlfP8vNLEeJxF.png) | ![](https://s2.loli.net/2023/03/27/XfPkFKYmZEWJqnc.png) | ![](https://s2.loli.net/2023/03/27/YuwXlkZCIQRnsiK.png) |\r\n| ![](https://s2.loli.net/2023/03/27/z2JvO3B9GD8EnkC.png) | ![](https://s2.loli.net/2023/03/27/ci3DtqojAy9zfeH.png) | ![](https://s2.loli.net/2023/03/27/Ss3rlzUv7u2Pjp6.png) |\r\n\r\n### Moment-Curvature Analysis of Fiber Section\r\n\r\n| Section Mesh | Moment-Curvature Analysis |\r\n| :-----------------------------------------------------: | :-----------------------------------------------------: |\r\n| ![](https://s2.loli.net/2023/03/27/z6S4sL8RbfeApV7.png) | ![](https://s2.loli.net/2023/03/27/lGFdgMypkxHW3PU.png) |\r\n\r\n### License\r\n\r\nThis software is published under the [GPLv3 license](https://www.gnu.org/licenses/gpl-3.0.en.html).\r\n",
"bugtrack_url": null,
"license": "GPL Licence",
"summary": "openseespy toolbox",
"version": "0.8.7",
"project_urls": {
"Homepage": "https://github.com/yexiang1992"
},
"split_keywords": [
"opensees",
"visualization",
"seismic",
"simulation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e4e90b11f71f49f9e69da51d0b14f1dad8dad5d16e30227bcf403a6b6bc70320",
"md5": "9bce935fdbcd3a6f7a2145b4c53aff5a",
"sha256": "b566ce33cbeec1b584ed1675dc2c1cd44f587c3b05e8a829b8a92e76d94af0ba"
},
"downloads": -1,
"filename": "opstool-0.8.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9bce935fdbcd3a6f7a2145b4c53aff5a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 463783,
"upload_time": "2024-03-26T10:15:14",
"upload_time_iso_8601": "2024-03-26T10:15:14.814647Z",
"url": "https://files.pythonhosted.org/packages/e4/e9/0b11f71f49f9e69da51d0b14f1dad8dad5d16e30227bcf403a6b6bc70320/opstool-0.8.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9b92c7906044fb7d7214064ffb541a0539e8307a35bca0307c94396526295669",
"md5": "6b421f82b6aa5acaa9d476598f85349f",
"sha256": "763659f3619dcae65fae8f9da7bc0022b075709de17cc0fdc773d760b1b99208"
},
"downloads": -1,
"filename": "opstool-0.8.7.tar.gz",
"has_sig": false,
"md5_digest": "6b421f82b6aa5acaa9d476598f85349f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 450606,
"upload_time": "2024-03-26T10:15:16",
"upload_time_iso_8601": "2024-03-26T10:15:16.345328Z",
"url": "https://files.pythonhosted.org/packages/9b/92/c7906044fb7d7214064ffb541a0539e8307a35bca0307c94396526295669/opstool-0.8.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-26 10:15:16",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "opstool"
}