Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
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
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
72 changes: 42 additions & 30 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,16 @@ 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.12" # MacOS can't run 3.12 yet... We want 3.10 and 3.11
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
python-version: "3.10"
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
python-version: "3.11"
environment:
name: biosimspace-build
Expand All @@ -37,30 +35,44 @@ 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 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
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/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
66 changes: 41 additions & 25 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ 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...
python-version: "3.12" # MacOS can't run 3.12 yet...
environment:
name: biosimspace-build
defaults:
Expand All @@ -34,30 +34,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: 37 additions & 30 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,19 @@ 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.10"
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
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.12" # MacOS can't run 3.12 yet...
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
python-version: "3.11"
environment:
name: biosimspace-build
Expand All @@ -38,31 +36,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:
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
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 (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