pylimer-tools

A collection of utility python functions for handling bead-spring polymer networks and LAMMPS output in Python

https://github.com/genietim/pylimer-tools

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

lammps-tool polymer python

Scientific Fields

Sociology Social Sciences - 71% confidence
Artificial Intelligence and Machine Learning Computer Science - 62% confidence
Last synced: 4 months ago · JSON representation

Repository

A collection of utility python functions for handling bead-spring polymer networks and LAMMPS output in Python

Basic Info
Statistics
  • Stars: 7
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 5
Topics
lammps-tool polymer python
Created about 4 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Funding License Code of conduct Citation

README.md

pylimer-tools

Run Tests Test Coverage (Python) Test Coverage (C++) Total Coverage Docs PyPI version Downloads License

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-network generate random bead-spring networks using our MC generation procedure
  • pylimer-analyse-networks batch analysis / statistics given LAMMPS data (structure) files
  • pylimer-basic-lammps-stats quick structural stats from LAMMPS data (structure) file
  • pylimer-displace-randomly random 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.

  1. Discuss larger ideas in an Issue first (helps align scope).
  2. Fork, branch, implement, add tests & docs.
  3. Run formatting and tests locally.
  4. 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

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

  • Versions: 27
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 1,865 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 12.1%
Average: 14.6%
Dependent repos count: 21.6%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/check-cpp-codestyle.yml actions
  • actions/checkout v4 composite
  • jidicula/clang-format-action v4.15.0 composite
.github/workflows/check-python-codestyle.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • py-actions/flake8 v2 composite
.github/workflows/publish-documentation-html.yml actions
  • JamesIves/github-pages-deploy-action 4.0.0 composite
  • actions/cache v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
.github/workflows/publish-package.yml actions
  • 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
.github/workflows/run-tests-windows.yml actions
  • 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
.github/workflows/run-tests.yml actions
  • 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
pyproject.toml pypi
requirements.txt pypi
  • 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
setup.py pypi