Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
1c1aded
Update Sire development version.
lohedges Nov 10, 2025
7ea9f19
Adds proper distances from COM restraints for both the bound and free…
Nov 18, 2025
bce30a6
Merge branch 'devel' into fix_470
Nov 18, 2025
de2ff17
Add ReplicaSystem implementation for replica exchange simulations.
lohedges Nov 19, 2025
62bc1c7
Handle squashed AMBER FEP trajectories.
lohedges Nov 20, 2025
b6f7296
Add method to get all replicas as a list of System objects.
lohedges Nov 20, 2025
d66853d
Add unit test for squashed representation handling.
lohedges Nov 20, 2025
a901746
Remove splatting to fix python 3.10 compatibility issue
Nov 20, 2025
ead4092
Merge pull request #471 from OpenBioSim/fix_470
lohedges Nov 20, 2025
3b40fb2
Merge branch 'devel' into feature_replica_system
lohedges Nov 20, 2025
581013b
Remove debugging flag.
lohedges Nov 21, 2025
dccf1ae
Restore missing fixture.
lohedges Nov 21, 2025
b1e255e
Merge pull request #473 from OpenBioSim/feature_replica_system
lohedges Nov 21, 2025
d18b96b
Fix lazy import issues.
lohedges Nov 26, 2025
c1e961f
Merge pull request #475 from OpenBioSim/fix_474
lohedges Nov 26, 2025
5391f2a
Allow translation of custom coordinates property.
lohedges Nov 26, 2025
076eaac
Merge pull request #477 from OpenBioSim/fix_translate
lohedges Nov 26, 2025
eb4931a
Update property name in map. [ci skip]
lohedges Nov 26, 2025
d618222
Merge pull request #479 from OpenBioSim/fix_translate
lohedges Nov 26, 2025
63fdb75
Make fixing of perturbable zero sigmas optional.
lohedges Nov 28, 2025
3364c2c
Merge pull request #482 from OpenBioSim/fix_ghost_sigmas
lohedges Nov 28, 2025
1d064c0
Add missing kwarg to merge wrapper function.
lohedges Dec 3, 2025
f4e9cd4
Update GROMACS NPT config to match sandpit. [closes #484]
lohedges Dec 3, 2025
e3add88
Correctly scale tau-p according to dt and nstpcouple.
lohedges Dec 3, 2025
cc56ae7
Merge pull request #485 from OpenBioSim/fix_484
lohedges Dec 3, 2025
13d0fc0
Fix inconsistencies in merge code.
lohedges Dec 5, 2025
2d5043c
Make sure not to connect zeroed bonds.
lohedges Dec 5, 2025
30d3b28
Merge pull request #488 from OpenBioSim/fix_merge_bugs
lohedges Dec 5, 2025
aa0c8f7
Add missing comment. [ci skip]
lohedges Dec 5, 2025
cda1866
Just set intrascale on the basis of the connectivity.
lohedges Dec 5, 2025
e02a475
Merge pull request #490 from OpenBioSim/fix_intrascale
lohedges Dec 5, 2025
de4bac0
Update fix_perturbable_zero_sigmas default.
lohedges Dec 12, 2025
e547665
Handle git revision ID failure. [closes #493]
lohedges Dec 16, 2025
2248207
Merge pull request #494 from OpenBioSim/fix_493
lohedges Dec 16, 2025
9bd285e
Fix Sire API issues in makeCompatibleWith method.
lohedges Jan 23, 2026
0e9ba9c
Fix API changes in docs.
lohedges Jan 23, 2026
b530cb1
Merge pull request #497 from OpenBioSim/fix_496
lohedges Jan 23, 2026
9dac5ca
Import Process via top-level of sub-module.
lohedges Feb 5, 2026
2f3cc61
Switch to pixi and rattler build.
lohedges Feb 5, 2026
e433ea3
Modernise build system.
lohedges Feb 6, 2026
4817f95
Version file is now auto-generated.
lohedges Feb 6, 2026
6e855b8
Only specify Sire on CI platforms. (Full source route for others.)
lohedges Feb 9, 2026
049479c
Sort imports to avoid Sandpit drift.
lohedges Feb 9, 2026
0352b06
Remove nglview pin.
lohedges Feb 9, 2026
e8f1ea3
Upgrade black.
lohedges Feb 9, 2026
14f7d97
Don't apply skipif to a fixture.
lohedges Feb 9, 2026
7763173
Fix version path.
lohedges Feb 9, 2026
f463c43
Add support for namd3.
lohedges Feb 9, 2026
543eeae
Use in-line build script.
lohedges Feb 9, 2026
112859d
Black 26 not on conda yet.
lohedges Feb 9, 2026
fab6b41
Fix shell quoting.
lohedges Feb 9, 2026
26d57bc
Fix black specification.
lohedges Feb 9, 2026
61c4555
Use relative paths to avoid path mangling.
lohedges Feb 9, 2026
c7cd345
Use black --check and use files.recipe to locate test files.
lohedges Feb 9, 2026
747386f
Try different way to match test files.
lohedges Feb 9, 2026
4932b92
Revert test file source changes. Errors are macOS and Windows specfic.
lohedges Feb 9, 2026
4e36b8e
Try removing pytest pin.
lohedges Feb 10, 2026
41cdb82
Remove black check from test section.
lohedges Feb 11, 2026
0d29837
Add linting tools to dev environment.
lohedges Feb 11, 2026
71af90b
Fix redundant alchemlyb imports.
lohedges Feb 11, 2026
2e50d75
Fix file name.
lohedges Feb 11, 2026
de76464
Remove redundant variable.
lohedges Feb 11, 2026
31b9a14
Fix sub-module name.
lohedges Feb 11, 2026
997beb9
Add missing import.
lohedges Feb 11, 2026
d7c385c
Move conditional import.
lohedges Feb 11, 2026
09ff8fd
Remove redundant variables.
lohedges Feb 11, 2026
afe87a3
Autoformat and lint with ruff.
lohedges Feb 11, 2026
7dffae2
Add pre-commit.
lohedges Feb 11, 2026
e73b73f
Add namd3 to allowed MD engines.
lohedges Feb 11, 2026
20db0c1
Remove black from test requirements.
lohedges Feb 11, 2026
0711b36
Update gitignore.
lohedges Feb 11, 2026
d3790a2
Add rattler-build to development environment.
lohedges Feb 11, 2026
9c9c5e5
Need to set PYTHONPATH for tests.
lohedges Feb 11, 2026
3103ac9
Use pixi install of rattler-build.
lohedges Feb 11, 2026
33fd75c
Add MANIFEST to make sure non-Python test files are included.
lohedges Feb 11, 2026
94d01b4
Make test script platform agnostic.
lohedges Feb 11, 2026
3cac249
Skip tests if tLEaP is missing.
lohedges Feb 11, 2026
31acf21
Avoid file locking errors on Windows.
lohedges Feb 11, 2026
efc6548
Update docs regarding pre-commit and ruff. [ci skip]
lohedges Feb 11, 2026
44276a7
Merge pull request #500 from OpenBioSim/feature_rattler
lohedges Feb 12, 2026
89e19d5
Remove redundant dependency.
lohedges Feb 13, 2026
02565fc
Fix missing Sire pins.
lohedges Feb 13, 2026
e2bb0c5
Add note about OpenCL activation.
lohedges Feb 13, 2026
5807cca
Update OpenCL activation instructions. [ci skip]
lohedges Feb 15, 2026
3d96354
Update workflow scripts to support macOS Python 3.12 builds.
lohedges Feb 16, 2026
458ca23
Merge branch 'main' into release_2025.4.0
lohedges Feb 16, 2026
e932ea1
Update CHANGELOG for the 2025.4.0 release.
lohedges Feb 16, 2026
7ca3992
Update Sire pins.
lohedges Feb 17, 2026
0791b78
Update date.
lohedges Feb 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 1 addition & 3 deletions .github/workflows/Sandpit_exs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,7 @@ jobs:
- name: Install the dev version
run: |
conda remove --force biosimspace
cd python
python setup.py develop
cd ..
pip install -e .

- name: Run tests
run: |
Expand Down
73 changes: 45 additions & 28 deletions .github/workflows/devel.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Release Devel
on:
workflow_dispatch:
push:
branches: [ devel ]
branches: [devel]

jobs:
build:
Expand All @@ -15,18 +15,21 @@ jobs:
matrix:
python-version: ["3.10", "3.11", "3.12"]
platform:
- { name: "windows", os: "windows-latest", shell: "pwsh" }
- { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
- { name: "linux", os: "ubuntu-latest", shell: "bash -l {0}" }
- { name: "macos", os: "macos-latest", shell: "bash -l {0}" }
exclude:
# Exclude all but the latest Python from all
# but Linux
- platform:
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
python-version: "3.12" # MacOS can't run 3.12 yet... We want 3.10 and 3.11
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
python-version: "3.10"
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
- platform:
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
python-version: "3.11"
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
python-version: "3.10"
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
python-version: "3.11"
environment:
name: biosimspace-build
Expand All @@ -37,30 +40,44 @@ jobs:
SIRE_DONT_PHONEHOME: 1
SIRE_SILENT_PHONEHOME: 1
steps:
- uses: conda-incubator/setup-miniconda@v3
#
- uses: actions/checkout@v4
with:
fetch-depth: 0
#
- name: Compute version info
shell: bash
run: python actions/update_recipe.py
#
- name: Create sdist
shell: bash
run: pip install build && python -m build --sdist && mv dist/*.tar.gz biosimspace-source.tar.gz
working-directory: ${{ github.workspace }}
#
- name: Install pixi
uses: prefix-dev/setup-pixi@v0.9.4
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: bss_build
miniforge-version: latest
#
- name: Clone the devel branch
run: git clone -b devel https://github.com/openbiosim/biosimspace
#
- name: Setup Conda
run: conda install -y -c conda-forge boa anaconda-client packaging pip-requirements-parser
#
- name: Update Conda recipe
run: python ${{ github.workspace }}/biosimspace/actions/update_recipe.py
#
- name: Prepare build location
run: mkdir ${{ github.workspace }}/build
#
- name: Build Conda package using conda build
run: conda build -c conda-forge -c openbiosim/label/dev ${{ github.workspace }}/biosimspace/recipes/biosimspace
#
- name: Upload Conda package
run: python ${{ github.workspace }}/biosimspace/actions/upload_package.py
run-install: false
#
- name: Install rattler-build
shell: bash
run: pixi global install rattler-build
#
- name: Write Python variant config
shell: bash
run: printf 'python:\n - "${{ matrix.python-version }}"\n' > "${{ github.workspace }}/python_variant.yaml"
#
- name: Build package using rattler-build
shell: bash
run: rattler-build build --recipe "${{ github.workspace }}/recipes/biosimspace" -c conda-forge -c openbiosim/label/dev --variant-config "${{ github.workspace }}/python_variant.yaml"
#
- name: Install anaconda-client
shell: bash
run: python -m pip install anaconda-client
#
- name: Upload package
shell: bash
run: python actions/upload_package.py
env:
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
ANACONDA_LABEL: dev
69 changes: 41 additions & 28 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,10 @@ jobs:
matrix:
python-version: ["3.10", "3.11", "3.12"]
platform:
- { name: "windows", os: "windows-latest", shell: "pwsh" }
- { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
- { name: "linux", os: "ubuntu-latest", shell: "bash -l {0}" }
- { name: "macos", os: "macos-latest", shell: "bash -l {0}" }
exclude:
- platform:
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
python-version: "3.12" # MacOS can't run 3.12 yet...
# No exclusions - release builds all combinations
environment:
name: biosimspace-build
defaults:
Expand All @@ -34,30 +31,46 @@ jobs:
SIRE_DONT_PHONEHOME: 1
SIRE_SILENT_PHONEHOME: 1
steps:
- uses: conda-incubator/setup-miniconda@v3
#
- uses: actions/checkout@v4
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: bss_build
miniforge-version: latest
#
- name: Clone the main branch
run: git clone -b main https://github.com/openbiosim/biosimspace
#
- name: Setup Conda
run: conda install -y -c conda-forge boa anaconda-client packaging pip-requirements-parser
#
- name: Update Conda recipe
run: python ${{ github.workspace }}/biosimspace/actions/update_recipe.py
#
- name: Prepare build location
run: mkdir ${{ github.workspace }}/build
#
- name: Build Conda package using conda build
run: conda build -c conda-forge -c openbiosim/label/main ${{ github.workspace }}/biosimspace/recipes/biosimspace
#
- name: Upload Conda package
run: python ${{ github.workspace }}/biosimspace/actions/upload_package.py
ref: main
fetch-depth: 0
#
- name: Compute version info
shell: bash
run: python actions/update_recipe.py
#
- name: Create sdist
shell: bash
run: pip install build && python -m build --sdist && mv dist/*.tar.gz biosimspace-source.tar.gz
working-directory: ${{ github.workspace }}
#
- name: Install pixi
uses: prefix-dev/setup-pixi@v0.9.4
with:
run-install: false
#
- name: Install rattler-build
shell: bash
run: pixi global install rattler-build
#
- name: Write Python variant config
shell: bash
run: printf 'python:\n - "${{ matrix.python-version }}"\n' > "${{ github.workspace }}/python_variant.yaml"
#
- name: Build package using rattler-build
shell: bash
run: rattler-build build --recipe "${{ github.workspace }}/recipes/biosimspace" -c conda-forge -c openbiosim/label/main --variant-config "${{ github.workspace }}/python_variant.yaml"
#
- name: Install anaconda-client
shell: bash
run: python -m pip install anaconda-client
if: github.event.inputs.upload_packages == 'true'
#
- name: Upload package
shell: bash
run: python actions/upload_package.py
env:
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
ANACONDA_LABEL: main
Expand Down
67 changes: 38 additions & 29 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
matrix:
python-version: ["3.10", "3.11", "3.12"]
platform:
- { name: "windows", os: "windows-latest", shell: "pwsh" }
- { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
- { name: "linux", os: "ubuntu-latest", shell: "bash -l {0}" }
- { name: "macos", os: "macos-latest", shell: "bash -l {0}" }
exclude:
Expand All @@ -23,12 +23,12 @@ jobs:
- platform:
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
python-version: "3.10"
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
python-version: "3.10"
- platform:
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
python-version: "3.12" # MacOS can't run 3.12 yet...
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
python-version: "3.11"
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
python-version: "3.10"
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
python-version: "3.11"
environment:
name: biosimspace-build
Expand All @@ -38,31 +38,40 @@ jobs:
env:
SIRE_DONT_PHONEHOME: 1
SIRE_SILENT_PHONEHOME: 1
REPO: "${{ github.event.pull_request.head.repo.full_name || github.repository }}"
steps:
- uses: conda-incubator/setup-miniconda@v3
#
- uses: actions/checkout@v4
with:
fetch-depth: 0
#
- name: Compute version info
shell: bash
run: python actions/update_recipe.py
#
- name: Create sdist
shell: bash
run: pip install build && python -m build --sdist && mv dist/*.tar.gz biosimspace-source.tar.gz
working-directory: ${{ github.workspace }}
#
- name: Install pixi
uses: prefix-dev/setup-pixi@v0.9.4
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
activate-environment: bss_build
miniforge-version: latest
#
- name: Clone the feature branch
run: git clone -b ${{ github.head_ref }} --single-branch https://github.com/${{ env.REPO }} biosimspace
#
- name: Setup Conda
run: conda install -y -c conda-forge boa anaconda-client packaging pip-requirements-parser
#
- name: Update Conda recipe
run: python ${{ github.workspace }}/biosimspace/actions/update_recipe.py
#
- name: Prepare build location
run: mkdir ${{ github.workspace }}/build
#
- name: Build Conda package using conda build using main channel
run-install: false
#
- name: Install rattler-build
shell: bash
run: pixi global install rattler-build
#
- name: Write Python variant config
shell: bash
run: printf 'python:\n - "${{ matrix.python-version }}"\n' > "${{ github.workspace }}/python_variant.yaml"
#
- name: Build package using rattler-build (main channel)
if: ${{ github.base_ref == 'main' }}
run: conda build -c conda-forge -c openbiosim/label/main ${{ github.workspace }}/biosimspace/recipes/biosimspace
#
- name: Build Conda package using conda build using dev channel
shell: bash
run: rattler-build build --recipe "${{ github.workspace }}/recipes/biosimspace" -c conda-forge -c openbiosim/label/main --variant-config "${{ github.workspace }}/python_variant.yaml"
#
- name: Build package using rattler-build (dev channel)
if: ${{ github.base_ref != 'main' }}
run: conda build -c conda-forge -c openbiosim/label/dev ${{ github.workspace }}/biosimspace/recipes/biosimspace
shell: bash
run: rattler-build build --recipe "${{ github.workspace }}/recipes/biosimspace" -c conda-forge -c openbiosim/label/dev --variant-config "${{ github.workspace }}/python_variant.yaml"
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,5 +34,5 @@ output.yaml
# VSCode config
.vscode/

# Conda recipe (it is auto-generated)
recipes/biosimspace/meta.yaml
# Auto-generate version file.
src/BioSimSpace/_version.py
23 changes: 23 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
files: ^(src|tests)/
exclude: ^tests/(input|output)/

repos:
# General file quality checks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-added-large-files
args: [--maxkb=1000] # Prevent files larger than 1MB
- id: check-merge-conflict

# Python formatting and linting
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.8.4
hooks:
# Run the formatter
- id: ruff-format
# Run the linter (optional - remove if too strict)
- id: ruff
args: [--fix, --exit-zero] # Auto-fix but don't block commits
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
graft tests
Loading