anastruct


Nameanastruct JSON
Version 1.6.1 PyPI version JSON
download
home_pagehttps://github.com/ritchie46/anaStruct
SummaryFinite element analysis of 2D structures
upload_time2024-10-16 10:12:33
maintainerBrooks Smith
docs_urlNone
authorRitchie Vink
requires_python>=3.10
licenseGPL-3.0-or-later
keywords fea finite element structural engineering structural analysis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # anaStruct 2D Frames and Trusses
[![Python tests](https://github.com/ritchie46/anaStruct/actions/workflows/test.yaml/badge.svg)](https://github.com/ritchie46/anaStruct/actions/workflows/test.yaml)
[![Documentation Status](https://readthedocs.org/projects/anastruct/badge/?version=latest)](http://anastruct.readthedocs.io/en/latest/?badge=latest)
![PyPI - Version](https://img.shields.io/pypi/v/anastruct)
![PyPI - Downloads](https://img.shields.io/pypi/dm/anastruct)
![Latest Release](https://img.shields.io/github/release-date/ritchie46/anaStruct)
![Commits since latest release](https://img.shields.io/github/commits-since/ritchie46/anaStruct/latest)


Analyse 2D Frames and trusses for slender structures. Determine the bending moments, shear forces, axial forces and displacements.

## Installation

For the actively developed version:
```
$ pip install git+https://github.com/ritchie46/anaStruct.git
```

Or for a release:
```
$ pip install anastruct
```

## Read the docs!

[Documentation](http://anastruct.readthedocs.io)

## Questions

Got a question? Please ask on [gitter](https://gitter.im/anaStruct/lobby).

## Includes

* trusses :heavy_check_mark:
* beams :heavy_check_mark:
* moment lines :heavy_check_mark:
* axial force lines :heavy_check_mark:
* shear force lines :heavy_check_mark:
* displacement lines :heavy_check_mark:
* hinged supports :heavy_check_mark:
* fixed supports :heavy_check_mark:
* spring supports :heavy_check_mark:
* q-load in elements direction :heavy_check_mark:
* point loads in global x, y directions on nodes :heavy_check_mark:
* dead load :heavy_check_mark:
* q-loads in global y direction :heavy_check_mark:
* hinged elements :heavy_check_mark:
* rotational springs :heavy_check_mark:
* non-linear nodes :heavy_check_mark:
* geometrical non linearity :heavy_check_mark:
* load cases and load combinations :heavy_check_mark:
* generic type of section - rectangle and circle :heavy_check_mark:
* EU, US, UK steel section database :heavy_check_mark:

## Examples

```python
from anastruct import SystemElements
import numpy as np

ss = SystemElements()
element_type = 'truss'

# Create 2 towers
width = 6
span = 30
k = 5e3

# create triangles
y = np.arange(1, 10) * np.pi
x = np.cos(y) * width * 0.5
x -= x.min()

for length in [0, span]:
    x_left_column = np.ones(y[::2].shape) * x.min() + length
    x_right_column = np.ones(y[::2].shape[0] + 1) * x.max() + length

    # add triangles
    ss.add_element_grid(x + length, y, element_type=element_type)
    # add vertical elements
    ss.add_element_grid(x_left_column, y[::2], element_type=element_type)
    ss.add_element_grid(x_right_column, np.r_[y[0], y[1::2], y[-1]], element_type=element_type)

    ss.add_support_spring(
        node_id=ss.find_node_id(vertex=[x_left_column[0], y[0]]),
        translation=2,
        k=k)
    ss.add_support_spring(
        node_id=ss.find_node_id(vertex=[x_right_column[0], y[0]]),
        translation=2,
        k=k)

# add top girder
ss.add_element_grid([0, width, span, span + width], np.ones(4) * y.max(), EI=10e3)

# Add stability elements at the bottom.
ss.add_truss_element([[0, y.min()], [width, y.min()]])
ss.add_truss_element([[span, y.min()], [span + width, y.min()]])

for el in ss.element_map.values():
    # apply wind load on elements that are vertical
    if np.isclose(np.sin(el.ai), 1):
        ss.q_load(
            q=1,
            element_id=el.id,
            direction='x'
        )

ss.show_structure()
ss.solve()
ss.show_displacement(factor=2)
ss.show_bending_moment()

```

![](doc/source/img/examples/tower_bridge_struct.png)

![](doc/source/img/examples/tower_bridge_displa.png)

![](doc/source/img/examples/tower_bridge_moment.png)


```python
from anastruct import SystemElements

ss = SystemElements(EA=15000, EI=5000)

# Add beams to the system.
ss.add_element(location=[0, 5])
ss.add_element(location=[[0, 5], [5, 5]])
ss.add_element(location=[[5, 5], [5, 0]])

# Add a fixed support at node 1.
ss.add_support_fixed(node_id=1)

# Add a rotational spring support at node 4.
ss.add_support_spring(node_id=4, translation=3, k=4000)

# Add loads.
ss.point_load(Fx=30, node_id=2)
ss.q_load(q=-10, element_id=2)

# Solve
ss.solve()

# Get visual results.
ss.show_structure()
ss.show_reaction_force()
ss.show_axial_force()
ss.show_shear_force()
ss.show_bending_moment()
ss.show_displacement()
```
![](images/rand/structure.png)

### Real world use case.
[Non linear water accumulation analysis](https://ritchievink.com/blog/2017/08/23/a-nonlinear-water-accumulation-analysis-in-python/)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ritchie46/anaStruct",
    "name": "anastruct",
    "maintainer": "Brooks Smith",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "smith120bh@gmail.com",
    "keywords": "FEA, finite element, structural engineering, structural analysis",
    "author": "Ritchie Vink",
    "author_email": "ritchie46@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/62/58/e9eb441cd699808b323b6863c823b52a671b5e411bd66f7dd8681af03b77/anastruct-1.6.1.tar.gz",
    "platform": null,
    "description": "# anaStruct 2D Frames and Trusses\n[![Python tests](https://github.com/ritchie46/anaStruct/actions/workflows/test.yaml/badge.svg)](https://github.com/ritchie46/anaStruct/actions/workflows/test.yaml)\n[![Documentation Status](https://readthedocs.org/projects/anastruct/badge/?version=latest)](http://anastruct.readthedocs.io/en/latest/?badge=latest)\n![PyPI - Version](https://img.shields.io/pypi/v/anastruct)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/anastruct)\n![Latest Release](https://img.shields.io/github/release-date/ritchie46/anaStruct)\n![Commits since latest release](https://img.shields.io/github/commits-since/ritchie46/anaStruct/latest)\n\n\nAnalyse 2D Frames and trusses for slender structures. Determine the bending moments, shear forces, axial forces and displacements.\n\n## Installation\n\nFor the actively developed version:\n```\n$ pip install git+https://github.com/ritchie46/anaStruct.git\n```\n\nOr for a release:\n```\n$ pip install anastruct\n```\n\n## Read the docs!\n\n[Documentation](http://anastruct.readthedocs.io)\n\n## Questions\n\nGot a question? Please ask on [gitter](https://gitter.im/anaStruct/lobby).\n\n## Includes\n\n* trusses :heavy_check_mark:\n* beams :heavy_check_mark:\n* moment lines :heavy_check_mark:\n* axial force lines :heavy_check_mark:\n* shear force lines :heavy_check_mark:\n* displacement lines :heavy_check_mark:\n* hinged supports :heavy_check_mark:\n* fixed supports :heavy_check_mark:\n* spring supports :heavy_check_mark:\n* q-load in elements direction :heavy_check_mark:\n* point loads in global x, y directions on nodes :heavy_check_mark:\n* dead load :heavy_check_mark:\n* q-loads in global y direction :heavy_check_mark:\n* hinged elements :heavy_check_mark:\n* rotational springs :heavy_check_mark:\n* non-linear nodes :heavy_check_mark:\n* geometrical non linearity :heavy_check_mark:\n* load cases and load combinations :heavy_check_mark:\n* generic type of section - rectangle and circle :heavy_check_mark:\n* EU, US, UK steel section database :heavy_check_mark:\n\n## Examples\n\n```python\nfrom anastruct import SystemElements\nimport numpy as np\n\nss = SystemElements()\nelement_type = 'truss'\n\n# Create 2 towers\nwidth = 6\nspan = 30\nk = 5e3\n\n# create triangles\ny = np.arange(1, 10) * np.pi\nx = np.cos(y) * width * 0.5\nx -= x.min()\n\nfor length in [0, span]:\n    x_left_column = np.ones(y[::2].shape) * x.min() + length\n    x_right_column = np.ones(y[::2].shape[0] + 1) * x.max() + length\n\n    # add triangles\n    ss.add_element_grid(x + length, y, element_type=element_type)\n    # add vertical elements\n    ss.add_element_grid(x_left_column, y[::2], element_type=element_type)\n    ss.add_element_grid(x_right_column, np.r_[y[0], y[1::2], y[-1]], element_type=element_type)\n\n    ss.add_support_spring(\n        node_id=ss.find_node_id(vertex=[x_left_column[0], y[0]]),\n        translation=2,\n        k=k)\n    ss.add_support_spring(\n        node_id=ss.find_node_id(vertex=[x_right_column[0], y[0]]),\n        translation=2,\n        k=k)\n\n# add top girder\nss.add_element_grid([0, width, span, span + width], np.ones(4) * y.max(), EI=10e3)\n\n# Add stability elements at the bottom.\nss.add_truss_element([[0, y.min()], [width, y.min()]])\nss.add_truss_element([[span, y.min()], [span + width, y.min()]])\n\nfor el in ss.element_map.values():\n    # apply wind load on elements that are vertical\n    if np.isclose(np.sin(el.ai), 1):\n        ss.q_load(\n            q=1,\n            element_id=el.id,\n            direction='x'\n        )\n\nss.show_structure()\nss.solve()\nss.show_displacement(factor=2)\nss.show_bending_moment()\n\n```\n\n![](doc/source/img/examples/tower_bridge_struct.png)\n\n![](doc/source/img/examples/tower_bridge_displa.png)\n\n![](doc/source/img/examples/tower_bridge_moment.png)\n\n\n```python\nfrom anastruct import SystemElements\n\nss = SystemElements(EA=15000, EI=5000)\n\n# Add beams to the system.\nss.add_element(location=[0, 5])\nss.add_element(location=[[0, 5], [5, 5]])\nss.add_element(location=[[5, 5], [5, 0]])\n\n# Add a fixed support at node 1.\nss.add_support_fixed(node_id=1)\n\n# Add a rotational spring support at node 4.\nss.add_support_spring(node_id=4, translation=3, k=4000)\n\n# Add loads.\nss.point_load(Fx=30, node_id=2)\nss.q_load(q=-10, element_id=2)\n\n# Solve\nss.solve()\n\n# Get visual results.\nss.show_structure()\nss.show_reaction_force()\nss.show_axial_force()\nss.show_shear_force()\nss.show_bending_moment()\nss.show_displacement()\n```\n![](images/rand/structure.png)\n\n### Real world use case.\n[Non linear water accumulation analysis](https://ritchievink.com/blog/2017/08/23/a-nonlinear-water-accumulation-analysis-in-python/)\n\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-or-later",
    "summary": "Finite element analysis of 2D structures",
    "version": "1.6.1",
    "project_urls": {
        "Documentation": "http://anastruct.readthedocs.io",
        "Homepage": "https://github.com/ritchie46/anaStruct",
        "Repository": "https://github.com/ritchie46/anaStruct"
    },
    "split_keywords": [
        "fea",
        " finite element",
        " structural engineering",
        " structural analysis"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e671ccf95e927ee5db2129d04de6ab25c4ac7edb1494bf17841039441ae4cb8",
                "md5": "b8d5eb6def29a172a57aa5864328e552",
                "sha256": "48d78564eb588b9dfe3d756e78cd8c5722af52674dc257ffdb367c12e3b0d0fa"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b8d5eb6def29a172a57aa5864328e552",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 608892,
            "upload_time": "2024-10-16T10:12:04",
            "upload_time_iso_8601": "2024-10-16T10:12:04.541277Z",
            "url": "https://files.pythonhosted.org/packages/3e/67/1ccf95e927ee5db2129d04de6ab25c4ac7edb1494bf17841039441ae4cb8/anastruct-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f8d1dbdbd35c449103d7e0f69f87b272efc53c4b8f37a03cdc38230234a7730",
                "md5": "6b655cab96874bd9dafad08d38f7bab9",
                "sha256": "54af8b6834aab8a0d480273a9567f941d32196999ee2407dd51dc230f88b556f"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "6b655cab96874bd9dafad08d38f7bab9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 608460,
            "upload_time": "2024-10-16T10:12:06",
            "upload_time_iso_8601": "2024-10-16T10:12:06.130037Z",
            "url": "https://files.pythonhosted.org/packages/3f/8d/1dbdbd35c449103d7e0f69f87b272efc53c4b8f37a03cdc38230234a7730/anastruct-1.6.1-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "221bd96f811fa69d0ec3655af333b7d400f35228892bd6243246fac8cf5bd52b",
                "md5": "ebfc0e5321361b1befc9117858e1599b",
                "sha256": "952b203f8022d1a287d642130155ce0ca9bade7ca141835b2e1acce7faf05a69"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ebfc0e5321361b1befc9117858e1599b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 763316,
            "upload_time": "2024-10-16T10:12:09",
            "upload_time_iso_8601": "2024-10-16T10:12:09.209122Z",
            "url": "https://files.pythonhosted.org/packages/22/1b/d96f811fa69d0ec3655af333b7d400f35228892bd6243246fac8cf5bd52b/anastruct-1.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33c520eb940064223f7441c623ec3467dd8d424cab4d99e0499e4527d6ebb061",
                "md5": "e4e8c58a36475cba737a3d083c4353d2",
                "sha256": "701e9e6faac0d38a472da87201db9c8891dafc6adba685dd2f2b6c97ae84833e"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e4e8c58a36475cba737a3d083c4353d2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 765334,
            "upload_time": "2024-10-16T10:12:10",
            "upload_time_iso_8601": "2024-10-16T10:12:10.993064Z",
            "url": "https://files.pythonhosted.org/packages/33/c5/20eb940064223f7441c623ec3467dd8d424cab4d99e0499e4527d6ebb061/anastruct-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2801cdef3f31d625daf36689839a3683f7283e5752c04786e5e05a9219b4f1c4",
                "md5": "69a01a3d4b07d1bd6df3ceb535b79fb9",
                "sha256": "e985d6148caf74d64f3c0cb56dfa01bbbbedd486cbb5df6d9adb52b9662d8270"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "69a01a3d4b07d1bd6df3ceb535b79fb9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 767740,
            "upload_time": "2024-10-16T10:12:12",
            "upload_time_iso_8601": "2024-10-16T10:12:12.776765Z",
            "url": "https://files.pythonhosted.org/packages/28/01/cdef3f31d625daf36689839a3683f7283e5752c04786e5e05a9219b4f1c4/anastruct-1.6.1-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f6ac8156383c5c720169514d55f5ed1d1a3a4582a9dc744fb42b69987b445c60",
                "md5": "943a3087618361b4bd888756b21861d7",
                "sha256": "a8468e381d09653f918248a2856bcf9d22d7fe8b35e2291dddad8843f4db1d00"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "943a3087618361b4bd888756b21861d7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 610828,
            "upload_time": "2024-10-16T10:12:14",
            "upload_time_iso_8601": "2024-10-16T10:12:14.367281Z",
            "url": "https://files.pythonhosted.org/packages/f6/ac/8156383c5c720169514d55f5ed1d1a3a4582a9dc744fb42b69987b445c60/anastruct-1.6.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f72e93de6c547a313790e5461d88d0052c935aba970d0c716bbc27fe18e9fa25",
                "md5": "8ac29f6a2b96d8783df53067e931cba2",
                "sha256": "445836a53817252a827c28f9fef4386372801b9f59185e4c8ffa9f53af7edbc6"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8ac29f6a2b96d8783df53067e931cba2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 608632,
            "upload_time": "2024-10-16T10:12:15",
            "upload_time_iso_8601": "2024-10-16T10:12:15.952613Z",
            "url": "https://files.pythonhosted.org/packages/f7/2e/93de6c547a313790e5461d88d0052c935aba970d0c716bbc27fe18e9fa25/anastruct-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd53dbb8882d47c1885669b8fdce520b0bd2afacc131ceecc96e5fd41f90876a",
                "md5": "7b0e3e49865b1dc9a5159ba177de222c",
                "sha256": "35c89c9005de23d3ded51fb722703bce2bcfec60afe1ea40bc1053e656f45158"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7b0e3e49865b1dc9a5159ba177de222c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 608343,
            "upload_time": "2024-10-16T10:12:17",
            "upload_time_iso_8601": "2024-10-16T10:12:17.795521Z",
            "url": "https://files.pythonhosted.org/packages/cd/53/dbb8882d47c1885669b8fdce520b0bd2afacc131ceecc96e5fd41f90876a/anastruct-1.6.1-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ac7af81582c00aa44439af240a6c94ade91aa3a5e8d4ff2572feea90a4f2f6f",
                "md5": "12aefbd26834f0e00644512db1f07430",
                "sha256": "7073f22801ca26a6728cc1d14612a1bcf71d7ed39febf7fd1237e93ce37352e8"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "12aefbd26834f0e00644512db1f07430",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 790915,
            "upload_time": "2024-10-16T10:12:19",
            "upload_time_iso_8601": "2024-10-16T10:12:19.528428Z",
            "url": "https://files.pythonhosted.org/packages/9a/c7/af81582c00aa44439af240a6c94ade91aa3a5e8d4ff2572feea90a4f2f6f/anastruct-1.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f93e1935c7f77d8994d654b1796a93626f4541e9c58e33210b9ef4c7bcde9bfe",
                "md5": "e3ff160fe12c6edfc175203d54d9f6ba",
                "sha256": "e135f20c6be066d609ca5449281c936e20d9cce81eba25b1b8b28ef8a7255d1c"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e3ff160fe12c6edfc175203d54d9f6ba",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 792710,
            "upload_time": "2024-10-16T10:12:21",
            "upload_time_iso_8601": "2024-10-16T10:12:21.338889Z",
            "url": "https://files.pythonhosted.org/packages/f9/3e/1935c7f77d8994d654b1796a93626f4541e9c58e33210b9ef4c7bcde9bfe/anastruct-1.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b4b56f48636e7834310c97d7ad61ec09728ebfaa7b20f00e9ee7829f1636b0a0",
                "md5": "312a9025640a923d31f6eb67ae25138d",
                "sha256": "ae3249aba8aac03b602b2bd884f12fa7046bf6aa3788d4eb82ec1469bf9fde09"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "312a9025640a923d31f6eb67ae25138d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 794787,
            "upload_time": "2024-10-16T10:12:22",
            "upload_time_iso_8601": "2024-10-16T10:12:22.856197Z",
            "url": "https://files.pythonhosted.org/packages/b4/b5/6f48636e7834310c97d7ad61ec09728ebfaa7b20f00e9ee7829f1636b0a0/anastruct-1.6.1-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9bd7d0c25afcf76464abef38d86145af24c24897797de742da9d1b3980fa9f80",
                "md5": "8779ad32497ebb20514973ff1f025bca",
                "sha256": "bf32b85c9ee9671f97d4ca2496ae087161e485e05321ea32bef3bc6084c8227e"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "8779ad32497ebb20514973ff1f025bca",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 610910,
            "upload_time": "2024-10-16T10:12:24",
            "upload_time_iso_8601": "2024-10-16T10:12:24.228620Z",
            "url": "https://files.pythonhosted.org/packages/9b/d7/d0c25afcf76464abef38d86145af24c24897797de742da9d1b3980fa9f80/anastruct-1.6.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "990f50c57510e4a419aca778b4bddffe26e2ce5c5e22aeacba784d382d246fe5",
                "md5": "8563ebd154aba825c71aac05ebe8bd70",
                "sha256": "020c77d83eeeeeacde50ffd1afa0d8cf0f0612723de73b541d02f9a4f2495c73"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8563ebd154aba825c71aac05ebe8bd70",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 608797,
            "upload_time": "2024-10-16T10:12:25",
            "upload_time_iso_8601": "2024-10-16T10:12:25.779982Z",
            "url": "https://files.pythonhosted.org/packages/99/0f/50c57510e4a419aca778b4bddffe26e2ce5c5e22aeacba784d382d246fe5/anastruct-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "61f10e52b56e9787431af806aeef6d555086d91a3012e33525fb4377a6905e80",
                "md5": "279a2e090ebf4e384d55ff8f06c1c3ca",
                "sha256": "8d3c03d9aa29bd3588a85be80150de09531345be521acb20e4c7d42354d9c60e"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "279a2e090ebf4e384d55ff8f06c1c3ca",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 608259,
            "upload_time": "2024-10-16T10:12:27",
            "upload_time_iso_8601": "2024-10-16T10:12:27.228877Z",
            "url": "https://files.pythonhosted.org/packages/61/f1/0e52b56e9787431af806aeef6d555086d91a3012e33525fb4377a6905e80/anastruct-1.6.1-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4728348f045b2fe35731a30d9df6ccea95f0afd15de372cac987f1c350d2e16b",
                "md5": "e7f5d0e750b1376e4c4aed15326224ec",
                "sha256": "d1bc4683e7d159152805f91ddf1ee106e3f01d991a08e5a72a6da984bdeacf73"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e7f5d0e750b1376e4c4aed15326224ec",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 798534,
            "upload_time": "2024-10-16T10:12:28",
            "upload_time_iso_8601": "2024-10-16T10:12:28.778293Z",
            "url": "https://files.pythonhosted.org/packages/47/28/348f045b2fe35731a30d9df6ccea95f0afd15de372cac987f1c350d2e16b/anastruct-1.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e813304b3d84b5075d04f545d9c9db868950fe39a185f064881a982efae5e292",
                "md5": "461bd13ae82f1168610b16764fcf3d29",
                "sha256": "d0ef231496da738055480d1b1657319f42f083089bbdc9bf55483fc356451244"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "461bd13ae82f1168610b16764fcf3d29",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 800305,
            "upload_time": "2024-10-16T10:12:29",
            "upload_time_iso_8601": "2024-10-16T10:12:29.866376Z",
            "url": "https://files.pythonhosted.org/packages/e8/13/304b3d84b5075d04f545d9c9db868950fe39a185f064881a982efae5e292/anastruct-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9b3b89d10fbcc6f5b0d9f9e836f742d009a37c6f9c301c1432e4bb03c296b52",
                "md5": "1f0b585e27aaff84395f74dc462bf961",
                "sha256": "a2017e777e248a33e375b56069c4b2213bd4cb68352a4e1e2bf1e97a78577679"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1f0b585e27aaff84395f74dc462bf961",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 798014,
            "upload_time": "2024-10-16T10:12:31",
            "upload_time_iso_8601": "2024-10-16T10:12:31.039854Z",
            "url": "https://files.pythonhosted.org/packages/f9/b3/b89d10fbcc6f5b0d9f9e836f742d009a37c6f9c301c1432e4bb03c296b52/anastruct-1.6.1-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "abcc228936bfaf9133395ff29a06267ec365441e6e401b6f9199ff10fb0c1980",
                "md5": "fc78b24c0779cb128f1e0e30e4803fb8",
                "sha256": "00c1142ccb73f39f51f17010ccc371e68d03e797dffd75a921c53a897cceadc6"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fc78b24c0779cb128f1e0e30e4803fb8",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 611066,
            "upload_time": "2024-10-16T10:12:32",
            "upload_time_iso_8601": "2024-10-16T10:12:32.139509Z",
            "url": "https://files.pythonhosted.org/packages/ab/cc/228936bfaf9133395ff29a06267ec365441e6e401b6f9199ff10fb0c1980/anastruct-1.6.1-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6258e9eb441cd699808b323b6863c823b52a671b5e411bd66f7dd8681af03b77",
                "md5": "3be42c545ca47fb7c0250c895ea834aa",
                "sha256": "d0d1627013f4a8bd12994d9500f7c7ea2aa894f596c6047b88cc3a3ae35906c8"
            },
            "downloads": -1,
            "filename": "anastruct-1.6.1.tar.gz",
            "has_sig": false,
            "md5_digest": "3be42c545ca47fb7c0250c895ea834aa",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 541856,
            "upload_time": "2024-10-16T10:12:33",
            "upload_time_iso_8601": "2024-10-16T10:12:33.947347Z",
            "url": "https://files.pythonhosted.org/packages/62/58/e9eb441cd699808b323b6863c823b52a671b5e411bd66f7dd8681af03b77/anastruct-1.6.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-16 10:12:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ritchie46",
    "github_project": "anaStruct",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "anastruct"
}
        
Elapsed time: 0.31423s