pylimer-tools
A collection of utility python functions for handling bead-spring polymer networks and LAMMPS output in Python
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Keywords
Scientific Fields
Repository
A collection of utility python functions for handling bead-spring polymer networks and LAMMPS output in Python
Basic Info
- Host: GitHub
- Owner: GenieTim
- License: gpl-3.0
- Language: C++
- Default Branch: main
- Homepage: https://genietim.github.io/pylimer-tools/
- Size: 275 MB
Statistics
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 5
Topics
Metadata Files
README.md
pylimer-tools
Pronunciation: "pylimer like "p-limer, with the "py as in the German word "mde (IPA: /pylm/).
pylimer-tools is a toolkit for simulation, analysis, and data handling of beadspring polymer systems in Python and C++. It combines high-level Python utilities with performant C++ extensions for common tasks in computational polymer science.
Table of Contents
1. Features
A selection of features includes:
- Monte Carlo structure (network "universe) generation
- Dissipative Particle Dynamics (DPD) simulation with slip-springs
- Maximum Entropy Homogenization Procedure (MEHP) with and without slip-links
- LAMMPS output readers: data, dump, thermodynamic outputs
- Network analysis: loops, chain reconstruction, degree statistics
- Structural metrics: radius of gyration, end-to-end distance, distributions
- Normal mode analysis for stress autocorrelation, loss and storage modulus
- Command line interfaces for batch workflows
2. Installation
Requirements
Python >= 3.9.
Stable Release
Stable release from PyPI:
pip install pylimer-tools
Build from Source
Requirements
Build requires CMake, a C++17 compiler, and (optionally) Ninja for faster builds.
Additionally, the system packages flex and bison are required (winflexbison on Windows using choco) to build the dependency igraph.
Build
To build from source (compiles C++ extension):
git clone https://github.com/GenieTim/pylimer-tools.git
cd pylimer-tools
pip install -e .
Optional: Use provided helper scripts in ./bin (e.g. ./bin/build-wheel.sh, ./bin/build-tests.sh).
3. Test Installation
```python import pylimertools import pylimertools_cpp
print("Installed version: {} == {}".format( pylimertools.version, pylimertoolscpp.version_ ))
```
More examples: see the examples in the documentation and their code in examples/.
Additionally, the tests and the CLI Tools may serve as examples.
4. CLI Tools
Installed console scripts:
pylimer-generate-networkgenerate random bead-spring networks using our MC generation procedurepylimer-analyse-networksbatch analysis / statistics given LAMMPS data (structure) filespylimer-basic-lammps-statsquick structural stats from LAMMPS data (structure) filepylimer-displace-randomlyrandom displacement utility
Run any with --help for usage.
5. Documentation
Full documentation (API reference, tutorials, examples): https://genietim.github.io/pylimer-tools
6. Development & Testing
Clone and install in editable mode (see Installation). Then:
./bin/run-tests.sh # full test suite (Python + C++), includes benchmarks & tests that may fail
./bin/run-tests-short.sh # quicker subset, generates coverage, is what's run in the CI
./bin/format-code.sh # apply formatting & style (run before PR)
Generate docs:
./bin/make-stubs.sh # builds the stubs for the C++ module
./bin/make-docs.sh # build Sphinx HTML docs
Adding Features
- Add tests in
tests/(unit or integration). New functionality without tests may be deferred. - Keep public APIs documented in docstrings so they surface in Sphinx.
- If a change alters behavior, update existing tests rather than deleting them. Explain rationale in the PR.
7. Citing
If you use pylimer-tools in published work, please cite it. A minimal BibTeX example:
bibtex
@software{pylimer-tools,
title = {pylimer-tools},
author = {Bernhard, Tim},
url = {https://github.com/GenieTim/pylimer-tools},
year = {2025},
note = {See CITATION.cff for full metadata and related method references}
}
Also cite the specific theoretical / methodological papers corresponding to the components you use (listed in CITATION.cff).
8. Contributing
We welcome contributions on GitHub via Issues and Pull Requests.
- Discuss larger ideas in an Issue first (helps align scope).
- Fork, branch, implement, add tests & docs.
- Run formatting and tests locally.
- Submit PR referencing the Issue (if any).
See also: Code of Conduct.
9. Code of Conduct
We strive for an inclusive, respectful environment. By participating you agree to uphold the Code of Conduct. Report concerns to the maintainer email specified there.
10. Acknowledgements
The authors gratefully acknowledge financial support from the Swiss National Science Foundation (SNSF project 200021_204196).
11. License
GPL-3.0-or-later. See LICENSE.
Pronunciation Note
"pylimer resembles "polymer; the playful spelling emphasizes Python integration.
Owner
- Name: Tim Bernhard
- Login: GenieTim
- Kind: user
- Location: Zürich
- Company: @bernhardwebstudio
- Website: genieblog.ch
- Twitter: genie_tim
- Repositories: 61
- Profile: https://github.com/GenieTim
I love Chemistry and Code. I am an Enterpreneur with a Masters in Computational Science (Focus Chemistry).
GitHub Events
Total
- Release event: 4
- Watch event: 6
- Public event: 1
- Push event: 67
- Create event: 6
Last Year
- Release event: 4
- Watch event: 6
- Public event: 1
- Push event: 67
- Create event: 6
Issues and Pull Requests
Last synced: 4 months ago
Packages
- Total packages: 1
-
Total downloads:
- pypi 1,865 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 27
- Total maintainers: 1
pypi.org: pylimer-tools
A toolkit for handling bead-spring polymers and LAMMPS output in Python
- Homepage: https://github.com/GenieTim/pylimer-tools
- Documentation: https://pylimer-tools.readthedocs.io/
- License: GPL-3.0-or-later
-
Latest release: 0.3.9
published 4 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v4 composite
- jidicula/clang-format-action v4.15.0 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- py-actions/flake8 v2 composite
- JamesIves/github-pages-deploy-action 4.0.0 composite
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- RalfG/python-wheels-manylinux-build v0.7.1 composite
- actions-ecosystem/action-get-latest-tag v1 composite
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/create-release v1 composite
- actions/download-artifact v4.1.7 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- crazy-max/ghaction-chocolatey v2 composite
- csexton/release-asset-action v2 composite
- lhotari/action-upterm v1 composite
- microsoft/setup-msbuild v1.1 composite
- mymindstorm/setup-emsdk v14 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/cache v3 composite
- actions/checkout v4 composite
- actions/setup-python v4 composite
- crazy-max/ghaction-chocolatey v3 composite
- microsoft/setup-msbuild v1.3 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- ad-m/github-push-action master composite
- codecov/codecov-action v5 composite
- codecov/test-results-action v1 composite
- tj-actions/verify-changed-files v20 composite
- attrs >=25.3.0
- build >=1.2.2
- click >=8.1.4
- cmake >=4.0.2
- coverage >=7.9.0
- docutils >=0.21.2
- fs >=2.4.16
- furo >=2024.8.6
- future >=1.0.0
- igraph >=0.11.9
- intersphinx_registry >=0.2501.23
- matplotlib >=3.9.4
- mock >=5.2.0
- mypy-extensions >=1.1.0
- ninja >=1.11.1.4
- numpy >=2.0.2
- openpyxl >=3.1.5
- packaging >=25.0
- pandas >=2.3.0
- pdoc >=15.0.4
- pint >=0.24.4
- psutil >=7.0.0
- pybind11-stubgen >=2.5.4
- rstcheck >=6.2.5
- ruff >=0.11.13
- scikit-build >=0.18.1
- scikit-learn >=1.6.1
- scipy >=1.13.1
- sphinx >=7.4.7
- sphinx-automodapi >=0.20.0
- sphinx-click >=6.0.0
- sphinx-copybutton >=0.5.2
- sphinx-gallery >=0.19.0
- sphinxcontrib-bibtex >=2.6.5
- sphinxext-opengraph >=0.10.0
- twine >=6.1.0
- unittest-xml-reporting >=3.2.0
- wheel >=0.45.1