opstool


Nameopstool JSON
Version 1.0.9 PyPI version JSON
download
home_pagehttps://github.com/yexiang1992/opstool
Summaryopstool: A Python package for structural analysis and visualization using OpenSeesPy
upload_time2025-02-26 05:07:14
maintainerNone
docs_urlNone
authorYexiang Yan
requires_python<3.13,>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # opstool
*Pre-Processing, Post-Processing, and Visualization Tailored for OpenSeesPy*

[![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)
[![GitHub License](https://img.shields.io/github/license/yexiang1992/opstool?style=flat)](https://img.shields.io/github/license/yexiang1992/opstool?style=flat)
[![code grade](https://img.shields.io/codefactor/grade/github/yexiang1992/opstool)](https://www.codefactor.io/repository/github/yexiang1992/opstool)

``opstool`` is a powerful and user-friendly package designed to simplify and enhance structural analysis workflows 
with [OpenSees](https://opensees.berkeley.edu/) and [OpenSeesPy](https://openseespydoc.readthedocs.io/en/latest/). 
It provides advanced tools for preprocessing, postprocessing, and visualization, making structural 
simulations more efficient and accessible.

The package is still under development.
To use, install `opstool` from [opstool-PyPI](https://pypi.org/project/opstool/):

```bash
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/)

> [!TIP]
> Since an opstool version **v1.0.1**, the API and features have undergone significant changes and upgrades. As a result, it feels more like a new library, and you should take some time to familiarize yourself with the new interface usage.

## Key Features

1. **Preprocessing Tools**:
   - *Fiber Section Meshing*: Generate detailed fiber meshes for various geometries.
      - <a href="https://sm.ms/image/lXGLVFKmIcSsvgN" target="_blank"><img src="https://s2.loli.net/2025/02/09/lXGLVFKmIcSsvgN.png" height="200"></a> 
        <a href="https://sm.ms/image/nIxAhN8rLBEQi2t" target="_blank"><img src="https://s2.loli.net/2025/02/09/nIxAhN8rLBEQi2t.png" height="200"></a>
   - *GMSH Integration*: Import and convert [Gmsh](https://gmsh.info/) models, including geometry, mesh, and physical groups.
      - <a href="https://sm.ms/image/MjoviYLrtqNHKCO" target="_blank"><img src="https://s2.loli.net/2025/02/09/MjoviYLrtqNHKCO.png" height="200"></a>
        <a href="https://sm.ms/image/XBVvRcGnePsJK8A" target="_blank"><img src="https://s2.loli.net/2025/02/09/XBVvRcGnePsJK8A.png" height="200"></a>
   - *Unit System Management*: Ensure consistency with automatic unit conversions.
   - *Mass Generation*: Automate lumped mass calculations.
2. **Postprocessing Capabilities**:
   - Easy retrieval and interpretation of analysis results using [xarray](https://docs.xarray.dev/en/stable/index.html#).
     - <a href="https://sm.ms/image/Q3OV9FLR5oGPMdn" target="_blank"><img src="https://s2.loli.net/2025/02/09/Q3OV9FLR5oGPMdn.png" height="160"></a>
       <a href="https://sm.ms/image/HzkTF7xdav6eLOt" target="_blank"><img src="https://s2.loli.net/2025/02/09/HzkTF7xdav6eLOt.gif" height="200"></a>
3. **Visualization**:
   - Powered by [Pyvista](https://docs.pyvista.org/) (VTK-based) and [Plotly](https://plotly.com/python/) (web-based).
   - Nearly identical APIs for flexible visualization of model geometry, modal analysis, and simulation results.
   - Supports most common OpenSees elements.
   - <a href="https://sm.ms/image/HrzPk1cqSJyxTlY" target="_blank"><img src="https://s2.loli.net/2025/02/09/HrzPk1cqSJyxTlY.png" height="160"></a>
     <a href="https://sm.ms/image/gxy8LZPkAwa3QEI" target="_blank"><img src="https://s2.loli.net/2025/02/09/gxy8LZPkAwa3QEI.png" height="160"></a>
     <a href="https://sm.ms/image/LCqVG9Df7RmHou6" target="_blank"><img src="https://s2.loli.net/2025/02/09/LCqVG9Df7RmHou6.png" height="160"></a>
     <a href="https://sm.ms/image/el21xbpcChVaXNB" target="_blank"><img src="https://s2.loli.net/2025/02/09/el21xbpcChVaXNB.png" height="200"></a>
     <a href="https://sm.ms/image/lcw5rXuaAKHCB3g" target="_blank"><img src="https://s2.loli.net/2025/02/09/lcw5rXuaAKHCB3g.png" height="200"></a>
     <a href="https://sm.ms/image/Rp2icyNbFgZOa6Y" target="_blank"><img src="https://s2.loli.net/2025/02/09/Rp2icyNbFgZOa6Y.png" height="200"></a>
4. **Intelligent Analysis**:
   - Features like automatic step size adjustment and algorithm switching to optimize simulation workflows.
   - Moment-Curvature Analysis: Generate moment-curvature curves for various sections.
     - <a href="https://sm.ms/image/mlNHEbfuoIzehri" target="_blank"><img src="https://s2.loli.net/2025/02/09/mlNHEbfuoIzehri.png" height="200"></a>
       <a href="https://sm.ms/image/9MFf4JQrZVpv6bi" target="_blank"><img src="https://s2.loli.net/2025/02/09/9MFf4JQrZVpv6bi.png" height="200"></a>

## Why Choose opstool?

- **Efficiency**: Streamlines complex workflows, reducing time spent on repetitive tasks.
- **Flexibility**: Provides nearly identical interfaces for different visualization engines.
- **Accessibility**: Makes advanced structural analysis tools like OpenSeesPy more approachable to users of all levels.

``opstool`` is actively evolving, with continuous additions of new features planned for the future.
With ``opstool``, you can focus on what matters most: 
understanding and solving your structural engineering challenges. 
Whether you are building models, visualizing results, or interpreting data, 
``opstool`` is your go-to solution for OpenSeesPy workflows.

## 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/opstool",
    "name": "opstool",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Yexiang Yan",
    "author_email": "yexiang_yan@outlook.com",
    "download_url": "https://files.pythonhosted.org/packages/4d/78/ecd18594e225beaff2660a37586b8f82c8131bd15b2f1ff4a44bc330cd05/opstool-1.0.9.tar.gz",
    "platform": null,
    "description": "# opstool\n*Pre-Processing, Post-Processing, and Visualization Tailored for OpenSeesPy*\n\n[![pypi](https://img.shields.io/pypi/v/opstool)](https://pypi.org/project/opstool/)\n[![Downloads](https://static.pepy.tech/badge/opstool)](https://pepy.tech/project/opstool)\n[![Documentation Status](https://readthedocs.org/projects/opstool/badge/?version=latest)](https://opstool.readthedocs.io/en/latest/?badge=latest)\n[![github stars](https://img.shields.io/github/stars/yexiang1992/opstool?style=social)](https://github.com/yexiang1992/opstool)\n[![GitHub License](https://img.shields.io/github/license/yexiang1992/opstool?style=flat)](https://img.shields.io/github/license/yexiang1992/opstool?style=flat)\n[![code grade](https://img.shields.io/codefactor/grade/github/yexiang1992/opstool)](https://www.codefactor.io/repository/github/yexiang1992/opstool)\n\n``opstool`` is a powerful and user-friendly package designed to simplify and enhance structural analysis workflows \nwith [OpenSees](https://opensees.berkeley.edu/) and [OpenSeesPy](https://openseespydoc.readthedocs.io/en/latest/). \nIt provides advanced tools for preprocessing, postprocessing, and visualization, making structural \nsimulations more efficient and accessible.\n\nThe package is still under development.\nTo use, install `opstool` from [opstool-PyPI](https://pypi.org/project/opstool/):\n\n```bash\npip install --upgrade opstool\n```\n\nThe restriction on the python version mainly depends on `openseespy`,\nit is recommended that you use [Anaconda](https://www.anaconda.com/) to avoid library version incompatibilities.\n\n## Document\n\n**Latest**: See [https://opstool.readthedocs.io/en/latest/](https://opstool.readthedocs.io/en/latest/).\n\n**Stable**: See [https://opstool.readthedocs.io/en/stable/](https://opstool.readthedocs.io/en/stable/)\n\n> [!TIP]\n> Since an opstool version **v1.0.1**, the API and features have undergone significant changes and upgrades. As a result, it feels more like a new library, and you should take some time to familiarize yourself with the new interface usage.\n\n## Key Features\n\n1. **Preprocessing Tools**:\n   - *Fiber Section Meshing*: Generate detailed fiber meshes for various geometries.\n      - <a href=\"https://sm.ms/image/lXGLVFKmIcSsvgN\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/lXGLVFKmIcSsvgN.png\" height=\"200\"></a> \n        <a href=\"https://sm.ms/image/nIxAhN8rLBEQi2t\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/nIxAhN8rLBEQi2t.png\" height=\"200\"></a>\n   - *GMSH Integration*: Import and convert [Gmsh](https://gmsh.info/) models, including geometry, mesh, and physical groups.\n      - <a href=\"https://sm.ms/image/MjoviYLrtqNHKCO\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/MjoviYLrtqNHKCO.png\" height=\"200\"></a>\n        <a href=\"https://sm.ms/image/XBVvRcGnePsJK8A\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/XBVvRcGnePsJK8A.png\" height=\"200\"></a>\n   - *Unit System Management*: Ensure consistency with automatic unit conversions.\n   - *Mass Generation*: Automate lumped mass calculations.\n2. **Postprocessing Capabilities**:\n   - Easy retrieval and interpretation of analysis results using [xarray](https://docs.xarray.dev/en/stable/index.html#).\n     - <a href=\"https://sm.ms/image/Q3OV9FLR5oGPMdn\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/Q3OV9FLR5oGPMdn.png\" height=\"160\"></a>\n       <a href=\"https://sm.ms/image/HzkTF7xdav6eLOt\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/HzkTF7xdav6eLOt.gif\" height=\"200\"></a>\n3. **Visualization**:\n   - Powered by [Pyvista](https://docs.pyvista.org/) (VTK-based) and [Plotly](https://plotly.com/python/) (web-based).\n   - Nearly identical APIs for flexible visualization of model geometry, modal analysis, and simulation results.\n   - Supports most common OpenSees elements.\n   - <a href=\"https://sm.ms/image/HrzPk1cqSJyxTlY\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/HrzPk1cqSJyxTlY.png\" height=\"160\"></a>\n     <a href=\"https://sm.ms/image/gxy8LZPkAwa3QEI\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/gxy8LZPkAwa3QEI.png\" height=\"160\"></a>\n     <a href=\"https://sm.ms/image/LCqVG9Df7RmHou6\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/LCqVG9Df7RmHou6.png\" height=\"160\"></a>\n     <a href=\"https://sm.ms/image/el21xbpcChVaXNB\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/el21xbpcChVaXNB.png\" height=\"200\"></a>\n     <a href=\"https://sm.ms/image/lcw5rXuaAKHCB3g\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/lcw5rXuaAKHCB3g.png\" height=\"200\"></a>\n     <a href=\"https://sm.ms/image/Rp2icyNbFgZOa6Y\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/Rp2icyNbFgZOa6Y.png\" height=\"200\"></a>\n4. **Intelligent Analysis**:\n   - Features like automatic step size adjustment and algorithm switching to optimize simulation workflows.\n   - Moment-Curvature Analysis: Generate moment-curvature curves for various sections.\n     - <a href=\"https://sm.ms/image/mlNHEbfuoIzehri\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/mlNHEbfuoIzehri.png\" height=\"200\"></a>\n       <a href=\"https://sm.ms/image/9MFf4JQrZVpv6bi\" target=\"_blank\"><img src=\"https://s2.loli.net/2025/02/09/9MFf4JQrZVpv6bi.png\" height=\"200\"></a>\n\n## Why Choose opstool?\n\n- **Efficiency**: Streamlines complex workflows, reducing time spent on repetitive tasks.\n- **Flexibility**: Provides nearly identical interfaces for different visualization engines.\n- **Accessibility**: Makes advanced structural analysis tools like OpenSeesPy more approachable to users of all levels.\n\n``opstool`` is actively evolving, with continuous additions of new features planned for the future.\nWith ``opstool``, you can focus on what matters most: \nunderstanding and solving your structural engineering challenges. \nWhether you are building models, visualizing results, or interpreting data, \n``opstool`` is your go-to solution for OpenSeesPy workflows.\n\n## License\n\nThis software is published under the [GPLv3 license](https://www.gnu.org/licenses/gpl-3.0.en.html).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "opstool: A Python package for structural analysis and visualization using OpenSeesPy",
    "version": "1.0.9",
    "project_urls": {
        "Documentation": "https://opstool.readthedocs.io/en/latest/index.html",
        "Homepage": "https://github.com/yexiang1992/opstool",
        "Repository": "https://github.com/yexiang1992/opstool"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5a3c05baf02128b8e7d73b492c8b2eaf81a6f618223de0394a7c0dbd2c1f522f",
                "md5": "437294e66101e5163419ae450e3c5f44",
                "sha256": "fd3c979f8772efa35f3b84763d397d4a40ec0cccbef5c0ce699e6ea05b2a95ad"
            },
            "downloads": -1,
            "filename": "opstool-1.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "437294e66101e5163419ae450e3c5f44",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.13,>=3.10",
            "size": 535595,
            "upload_time": "2025-02-26T05:07:12",
            "upload_time_iso_8601": "2025-02-26T05:07:12.869988Z",
            "url": "https://files.pythonhosted.org/packages/5a/3c/05baf02128b8e7d73b492c8b2eaf81a6f618223de0394a7c0dbd2c1f522f/opstool-1.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4d78ecd18594e225beaff2660a37586b8f82c8131bd15b2f1ff4a44bc330cd05",
                "md5": "f6c55ccc28fa5b8a85451cb18fc19f54",
                "sha256": "ae6f2a7b62716ee8b9bb91ac339184d94ff420109185a2aa8fec9cf7a444c22a"
            },
            "downloads": -1,
            "filename": "opstool-1.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "f6c55ccc28fa5b8a85451cb18fc19f54",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.10",
            "size": 485386,
            "upload_time": "2025-02-26T05:07:14",
            "upload_time_iso_8601": "2025-02-26T05:07:14.707241Z",
            "url": "https://files.pythonhosted.org/packages/4d/78/ecd18594e225beaff2660a37586b8f82c8131bd15b2f1ff4a44bc330cd05/opstool-1.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-26 05:07:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yexiang1992",
    "github_project": "opstool",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "tox": true,
    "lcname": "opstool"
}
        
Elapsed time: 0.40696s