{"id":20220668,"url":"https://github.com/tp5uiuc/elastica-pipelines","last_synced_at":"2026-05-23T16:39:58.320Z","repository":{"id":57984585,"uuid":"529501877","full_name":"tp5uiuc/elastica-pipelines","owner":"tp5uiuc","description":"Pipelines for Elastica++ applications","archived":false,"fork":false,"pushed_at":"2024-01-18T14:44:02.000Z","size":617,"stargazers_count":0,"open_issues_count":14,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T22:45:01.898Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tp5uiuc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-08-27T06:23:26.000Z","updated_at":"2022-08-27T06:25:05.000Z","dependencies_parsed_at":"2023-02-16T19:50:22.454Z","dependency_job_id":"2ef37a92-e117-40d5-a3fa-614ebbfae52b","html_url":"https://github.com/tp5uiuc/elastica-pipelines","commit_stats":{"total_commits":137,"total_committers":3,"mean_commits":"45.666666666666664","dds":0.1897810218978102,"last_synced_commit":"ffb2cb6f38f1bf32511799b3ab3d97beae76d291"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tp5uiuc%2Felastica-pipelines","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tp5uiuc%2Felastica-pipelines/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tp5uiuc%2Felastica-pipelines/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tp5uiuc%2Felastica-pipelines/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tp5uiuc","download_url":"https://codeload.github.com/tp5uiuc/elastica-pipelines/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241661442,"owners_count":19998951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T06:47:14.282Z","updated_at":"2026-05-23T16:39:53.284Z","avatar_url":"https://github.com/tp5uiuc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Elastica Pipelines\n\n[![PyPI](https://img.shields.io/pypi/v/elastica-pipelines.svg)][pypi_]\n[![Status](https://img.shields.io/pypi/status/elastica-pipelines.svg)][status]\n[![Python Version](https://img.shields.io/pypi/pyversions/elastica-pipelines)][python version]\n[![License](https://img.shields.io/pypi/l/elastica-pipelines)][license]\n\n[![Read the documentation at https://elastica-pipelines.readthedocs.io/](https://img.shields.io/readthedocs/elastica-pipelines/latest.svg?label=Read%20the%20Docs)][read the docs]\n[![Tests](https://github.com/tp5uiuc/elastica-pipelines/workflows/Tests/badge.svg)][tests]\n[![Codecov](https://codecov.io/gh/tp5uiuc/elastica-pipelines/branch/main/graph/badge.svg)][codecov]\n\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)][pre-commit]\n[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)][black]\n\n[pypi_]: https://pypi.org/project/elastica-pipelines/\n[status]: https://pypi.org/project/elastica-pipelines/\n[python version]: https://pypi.org/project/elastica-pipelines\n[read the docs]: https://elastica-pipelines.readthedocs.io/\n[tests]: https://github.com/tp5uiuc/elastica-pipelines/actions?workflow=Tests\n[codecov]: https://app.codecov.io/gh/tp5uiuc/elastica-pipelines\n[pre-commit]: https://github.com/pre-commit/pre-commit\n[black]: https://github.com/psf/black\n\n## Features\n\n### IO\n\n- Lazy loading of simulation time-series data generated by **Elastica++** applications\n- Track a single, or a subset, or whole group of rods, over time using familiar slicing API\n\n## Installation\n\nYou can install _Elastica Pipelines_ via [pip] from [PyPI]:\n\n```console\n$ pip install elastica-pipelines\n```\n\n## Usage\n\nPlease see the [Command-line Reference] for details.\n\n### IO\n\n[![Python3][api-py3]](https://www.python.org/) ![Python3 API: Alpha][dev-alpha]\n\n[api-py3]: https://img.shields.io/badge/language-Python3-yellowgreen \"Python3 API\"\n[dev-alpha]: https://img.shields.io/badge/phase-alpha-yellowgreen \"Status: Alpha\"\n\n```py\nfrom elastica_pipelines import io\n\n# ...\n\n# Read only access to data written by Elastica++\nseries = io.series(metadata=\"elastica_metadata.h5\")\n\n# use series like a python Mapping\nfor t, snapshot in series.iterations():\n    print(\"Iteration: {0} at time {1}\".format(t.iterate, t.time))\n\n    # Snapshot is a mapping contain system types such as CosseratRods \u0026 Spheres\n    # Here we access only cosserat rods\n    for rod_id, rod in snapshot.cosserat_rods().items(): # snapshot['CosseratRod'] also works!\n        if rod_id == 0:\n            print(\"  Rod '{0}' attributes:\".format(rod_id))\n            # even rod is a Mapping, get its keys\n            print(\"  {0}\".format(list(rod.keys())))\n        print(\"  Rod '{0}' position:\".format(rod_id), rod['Position'])\n```\n\n## Contributing\n\nContributions are very welcome.\nTo learn more, see the [Contributor Guide].\n\n## License\n\nDistributed under the terms of the [MIT license][license],\n_Elastica Pipelines_ is free and open source software.\n\n## Issues\n\nIf you encounter any problems,\nplease [file an issue] along with a detailed description.\n\n## Credits\n\nThis project was generated from [@cjolowicz]'s [Hypermodern Python Cookiecutter] template.\n\n[@cjolowicz]: https://github.com/cjolowicz\n[pypi]: https://pypi.org/\n[hypermodern python cookiecutter]: https://github.com/cjolowicz/cookiecutter-hypermodern-python\n[file an issue]: https://github.com/tp5uiuc/elastica-pipelines/issues\n[pip]: https://pip.pypa.io/\n\n\u003c!-- github-only --\u003e\n\n[license]: https://github.com/tp5uiuc/elastica-pipelines/blob/main/LICENSE\n[contributor guide]: https://github.com/tp5uiuc/elastica-pipelines/blob/main/CONTRIBUTING.md\n[command-line reference]: https://elastica-pipelines.readthedocs.io/en/latest/usage.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftp5uiuc%2Felastica-pipelines","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftp5uiuc%2Felastica-pipelines","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftp5uiuc%2Felastica-pipelines/lists"}