Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
92c9506
start working on BondLength Constraint node
MrJulEnergy May 6, 2024
6d252b5
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 6, 2024
79e09f0
try the most basic form of the class
MrJulEnergy May 6, 2024
d424d57
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 6, 2024
fe17835
add class to init files
MrJulEnergy May 6, 2024
d691a4f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 6, 2024
ac3b039
Add Hookean Constraint Node
MrJulEnergy May 6, 2024
cdcc38a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 6, 2024
754b3c1
dont make a new ipsuite object for every atom pair
MrJulEnergy May 6, 2024
1e3a12e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 6, 2024
0513ae4
fix grammar
MrJulEnergy May 6, 2024
379514b
fix long line
MrJulEnergy May 6, 2024
a1623b5
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 6, 2024
68ffaab
change changelog
MrJulEnergy May 6, 2024
2a49842
add test for FixedBondLengthConstraint
MrJulEnergy May 6, 2024
a8ee9f2
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 6, 2024
fa788b3
repair test
MrJulEnergy May 6, 2024
b696a7d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 6, 2024
f0d843d
fix example and variable name
MrJulEnergy Jun 14, 2024
b7ff045
switched xtb-python with tblite (#384)
M-R-Schaefer Jan 21, 2025
fb7fad7
Add new InterIntraMD Calculator to IPSuite
MrJulEnergy Feb 16, 2025
e0c8611
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 16, 2025
7f99cd2
fix variable name map to mol_map
MrJulEnergy Feb 16, 2025
831b15d
fix missing mol_map
MrJulEnergy Feb 16, 2025
019ef9d
rename `atoms` to `frames` (#385)
PythonFZ Feb 17, 2025
97c845b
migrate to `uv` (#390)
PythonFZ Feb 17, 2025
a4d92a7
Safe sampling (#389)
M-R-Schaefer Mar 27, 2025
08b4ac8
fix ruff remarks
MrJulEnergy Mar 31, 2025
fe1d05f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 31, 2025
846968f
fix spelling
MrJulEnergy Mar 31, 2025
535ee0d
bump ruff version
PythonFZ Apr 1, 2025
bbfb6a4
Merge pull request #396 from zincware/fix_pre_commit_errors
MrJulEnergy Apr 1, 2025
55781a4
merge main
MrJulEnergy Apr 3, 2025
f81495f
convert to dataclasses and fix test
MrJulEnergy Apr 3, 2025
a191d78
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Apr 3, 2025
08e631a
Merge pull request #294 from zincware/add_bond_constraint
MrJulEnergy Apr 4, 2025
0f6f6b7
change typehint in langevin to float
MrJulEnergy Apr 4, 2025
a871da7
Merge pull request #397 from zincware/fix_typehint
MrJulEnergy Apr 4, 2025
8ada50d
use cp2k-output tools from source due to build issues with regex (#398)
PythonFZ Apr 22, 2025
bdcfd74
bump version (#399)
PythonFZ May 6, 2025
46da757
migrate to laufband for parallel CP2k runs (#400)
PythonFZ May 6, 2025
e5d884f
add AnalyseStructureMeanForce (#401)
PythonFZ May 6, 2025
9b3aaad
introduce `GenericASECalculator` and `ApplyCalculator` (#403)
PythonFZ May 15, 2025
400a5a0
[pre-commit.ci] pre-commit autoupdate (#227)
pre-commit-ci[bot] May 15, 2025
af9ceff
Add basic Plumed interface (#395)
MrJulEnergy May 19, 2025
3b00c29
`ASEMD` refactoring (#407)
PythonFZ Jun 3, 2025
02a939b
Update quickstart.rst
PythonFZ Jun 6, 2025
8adc5c9
Update packmol.py
PythonFZ Jun 6, 2025
047dcef
Update .readthedocs.yaml
PythonFZ Jun 6, 2025
ab4afea
fix y lim (#413)
M-R-Schaefer Jun 11, 2025
134fff0
bump znh5md version (#414)
PythonFZ Jun 13, 2025
12a6566
Safe modifier (#410)
M-R-Schaefer Jun 13, 2025
cfcfeb1
Update pyproject.toml (#415)
PythonFZ Jun 16, 2025
49a335e
cp2k and laufband implementation (#416)
PythonFZ Jun 17, 2025
06efde8
fix tqdm disable (#417)
PythonFZ Jun 18, 2025
5550810
pump version (#418)
PythonFZ Jun 18, 2025
9149fc5
re-introduce `TorchDFTD3` (#419)
PythonFZ Jun 20, 2025
48010b6
Merge branch 'main' into InterIntraNode
PythonFZ Jun 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 48 additions & 48 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,51 +7,51 @@
# To get a newer version, you will need to update the SHA.
# You can also reference a tag or branch, but the action may change without warning.

name: Publish Docker image

on:
workflow_dispatch:
release:
types: [published]

jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: self-hosted
permissions:
packages: write
contents: read
attestations: write
id-token: write
steps:
- name: Check out the repo
uses: actions/checkout@v4

- name: Log in to Docker Hub
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: pythonf/ipsuite

- name: Build and push Docker image
id: push
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

- name: Generate artifact attestation
uses: actions/attest-build-provenance@v1
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true
# name: Publish Docker image

# on:
# workflow_dispatch:
# release:
# types: [published]

# jobs:
# push_to_registry:
# name: Push Docker image to Docker Hub
# runs-on: self-hosted
# permissions:
# packages: write
# contents: read
# attestations: write
# id-token: write
# steps:
# - name: Check out the repo
# uses: actions/checkout@v4

# - name: Log in to Docker Hub
# uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
# with:
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_ACCESS_TOKEN }}

# - name: Extract metadata (tags, labels) for Docker
# id: meta
# uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
# with:
# images: pythonf/ipsuite

# - name: Build and push Docker image
# id: push
# uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
# with:
# context: .
# file: ./Dockerfile
# push: true
# tags: ${{ steps.meta.outputs.tags }}
# labels: ${{ steps.meta.outputs.labels }}

# - name: Generate artifact attestation
# uses: actions/attest-build-provenance@v1
# with:
# subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
# subject-digest: ${{ steps.push.outputs.digest }}
# push-to-registry: true
28 changes: 8 additions & 20 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -1,31 +1,19 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# GitHub recommends pinning actions to a commit SHA.
# To get a newer version, you will need to update the SHA.
# You can also reference a tag or branch, but the action may change without warning.

name: Publish PyPi package

name: Release
on:
release:
types: [published]
types:
- created

jobs:
publish-pypi:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install Poetry
uses: snok/install-poetry@v1
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Publish
env:
PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
run: |
poetry config pypi-token.pypi $PYPI_TOKEN
poetry publish --build
uv build
uv publish --token $PYPI_TOKEN
27 changes: 16 additions & 11 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,31 +18,36 @@ jobs:
fail-fast: false
matrix:
python-version:
- "3.10"
- "3.11"
os:
- ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Install Poetry
run: |
pipx install poetry
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
- name: Install uv and set the python version
uses: astral-sh/setup-uv@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'poetry'
- name: Install the project
run: uv sync --all-extras --dev --group=gap
- name: Setup git user
run: |
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
git config --global init.defaultBranch "main"
- name: Install package
run: |
poetry install --all-extras
- name: Pytest
run: |
poetry run pytest . -vv
uv run python --version
uv run pytest -vv --cov --junitxml=junit.xml -o junit_family=legacy
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Upload test results to Codecov
if: ${{ !cancelled() }}
uses: codecov/test-results-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}

# examples:
# runs-on: ${{ matrix.os }}
Expand Down
25 changes: 6 additions & 19 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,31 @@ default_language_version:
python: python3
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-docstring-first
- id: check-executables-have-shebangs
- id: check-json
# - id: check-json
- id: check-merge-conflict
args: ['--assume-in-merge']
args: ["--assume-in-merge"]
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: mixed-line-ending
args: ['--fix=lf']
args: ["--fix=lf"]
- id: sort-simple-yaml
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 23.10.1
hooks:
- id: black
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
rev: v2.4.1
hooks:
- id: codespell
additional_dependencies: ["tomli"]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.4.9
rev: v0.11.9
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
- repo: https://github.com/executablebooks/mdformat
rev: 0.7.17
hooks:
- id: mdformat
args: ["--wrap=80"]
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.11
17 changes: 7 additions & 10 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,19 @@

version: 2

submodules:
include: all

# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.10"
python: "3.11"
jobs:
post_create_environment:
# Install poetry
# https://python-poetry.org/docs/#installing-manually
- pip install poetry
post_install:
# Install dependencies with 'docs' dependency group
# https://python-poetry.org/docs/managing-dependencies/#dependency-groups
# VIRTUAL_ENV needs to be set manually for now.
# See https://github.com/readthedocs/readthedocs.org/pull/11152/
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry install --with docs
# see https://github.com/astral-sh/uv/issues/10074
- pip install uv
- UV_PROJECT_ENVIRONMENT=$READTHEDOCS_VIRTUALENV_PATH uv sync --all-extras --link-mode=copy --group=docs

# Build documentation in the docs/ directory with Sphinx
sphinx:
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,5 @@
- add `density` to `RescaleBoxModifier`
- add `fraction_traceless` parameter to `NPTThermostat`
- add `TorchD3NL` calculator
- add `HookeanConstraint` calculator
- add `FixedBondLengthConstraint` calculator
2 changes: 1 addition & 1 deletion docs/source/_get_started/quickstart.rst
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ The goal is to place water molecules inside a box at a specified density.
mol = ips.Smiles2Atoms(smiles="O")
# Duplicate water molecules
packmol = ips.Packmol(
data=[mol.atoms], count=[10], density=876
data=[mol.frames], count=[10], density=876
)

project.build()
Expand Down
Loading