Skip to content

Commit 5814ae7

Browse files
authored
Merge pull request #501 from OpenBioSim/release_2025.4.0
Release 2025.4.0
2 parents f7b3f0a + 0791b78 commit 5814ae7

367 files changed

Lines changed: 4437 additions & 5562 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/Sandpit_exs.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ jobs:
4141
- name: Install the dev version
4242
run: |
4343
conda remove --force biosimspace
44-
cd python
45-
python setup.py develop
46-
cd ..
44+
pip install -e .
4745
4846
- name: Run tests
4947
run: |

.github/workflows/devel.yaml

Lines changed: 45 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Release Devel
33
on:
44
workflow_dispatch:
55
push:
6-
branches: [ devel ]
6+
branches: [devel]
77

88
jobs:
99
build:
@@ -15,18 +15,21 @@ jobs:
1515
matrix:
1616
python-version: ["3.10", "3.11", "3.12"]
1717
platform:
18-
- { name: "windows", os: "windows-latest", shell: "pwsh" }
18+
- { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
1919
- { name: "linux", os: "ubuntu-latest", shell: "bash -l {0}" }
2020
- { name: "macos", os: "macos-latest", shell: "bash -l {0}" }
2121
exclude:
2222
# Exclude all but the latest Python from all
2323
# but Linux
2424
- platform:
2525
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
26-
python-version: "3.12" # MacOS can't run 3.12 yet... We want 3.10 and 3.11
27-
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
2826
python-version: "3.10"
29-
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
27+
- platform:
28+
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
29+
python-version: "3.11"
30+
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
31+
python-version: "3.10"
32+
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
3033
python-version: "3.11"
3134
environment:
3235
name: biosimspace-build
@@ -37,30 +40,44 @@ jobs:
3740
SIRE_DONT_PHONEHOME: 1
3841
SIRE_SILENT_PHONEHOME: 1
3942
steps:
40-
- uses: conda-incubator/setup-miniconda@v3
43+
#
44+
- uses: actions/checkout@v4
45+
with:
46+
fetch-depth: 0
47+
#
48+
- name: Compute version info
49+
shell: bash
50+
run: python actions/update_recipe.py
51+
#
52+
- name: Create sdist
53+
shell: bash
54+
run: pip install build && python -m build --sdist && mv dist/*.tar.gz biosimspace-source.tar.gz
55+
working-directory: ${{ github.workspace }}
56+
#
57+
- name: Install pixi
58+
uses: prefix-dev/setup-pixi@v0.9.4
4159
with:
42-
auto-update-conda: true
43-
python-version: ${{ matrix.python-version }}
44-
activate-environment: bss_build
45-
miniforge-version: latest
46-
#
47-
- name: Clone the devel branch
48-
run: git clone -b devel https://github.com/openbiosim/biosimspace
49-
#
50-
- name: Setup Conda
51-
run: conda install -y -c conda-forge boa anaconda-client packaging pip-requirements-parser
52-
#
53-
- name: Update Conda recipe
54-
run: python ${{ github.workspace }}/biosimspace/actions/update_recipe.py
55-
#
56-
- name: Prepare build location
57-
run: mkdir ${{ github.workspace }}/build
58-
#
59-
- name: Build Conda package using conda build
60-
run: conda build -c conda-forge -c openbiosim/label/dev ${{ github.workspace }}/biosimspace/recipes/biosimspace
61-
#
62-
- name: Upload Conda package
63-
run: python ${{ github.workspace }}/biosimspace/actions/upload_package.py
60+
run-install: false
61+
#
62+
- name: Install rattler-build
63+
shell: bash
64+
run: pixi global install rattler-build
65+
#
66+
- name: Write Python variant config
67+
shell: bash
68+
run: printf 'python:\n - "${{ matrix.python-version }}"\n' > "${{ github.workspace }}/python_variant.yaml"
69+
#
70+
- name: Build package using rattler-build
71+
shell: bash
72+
run: rattler-build build --recipe "${{ github.workspace }}/recipes/biosimspace" -c conda-forge -c openbiosim/label/dev --variant-config "${{ github.workspace }}/python_variant.yaml"
73+
#
74+
- name: Install anaconda-client
75+
shell: bash
76+
run: python -m pip install anaconda-client
77+
#
78+
- name: Upload package
79+
shell: bash
80+
run: python actions/upload_package.py
6481
env:
6582
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
6683
ANACONDA_LABEL: dev

.github/workflows/main.yaml

Lines changed: 41 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,10 @@ jobs:
1818
matrix:
1919
python-version: ["3.10", "3.11", "3.12"]
2020
platform:
21-
- { name: "windows", os: "windows-latest", shell: "pwsh" }
21+
- { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
2222
- { name: "linux", os: "ubuntu-latest", shell: "bash -l {0}" }
2323
- { name: "macos", os: "macos-latest", shell: "bash -l {0}" }
24-
exclude:
25-
- platform:
26-
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
27-
python-version: "3.12" # MacOS can't run 3.12 yet...
24+
# No exclusions - release builds all combinations
2825
environment:
2926
name: biosimspace-build
3027
defaults:
@@ -34,30 +31,46 @@ jobs:
3431
SIRE_DONT_PHONEHOME: 1
3532
SIRE_SILENT_PHONEHOME: 1
3633
steps:
37-
- uses: conda-incubator/setup-miniconda@v3
34+
#
35+
- uses: actions/checkout@v4
3836
with:
39-
auto-update-conda: true
40-
python-version: ${{ matrix.python-version }}
41-
activate-environment: bss_build
42-
miniforge-version: latest
43-
#
44-
- name: Clone the main branch
45-
run: git clone -b main https://github.com/openbiosim/biosimspace
46-
#
47-
- name: Setup Conda
48-
run: conda install -y -c conda-forge boa anaconda-client packaging pip-requirements-parser
49-
#
50-
- name: Update Conda recipe
51-
run: python ${{ github.workspace }}/biosimspace/actions/update_recipe.py
52-
#
53-
- name: Prepare build location
54-
run: mkdir ${{ github.workspace }}/build
55-
#
56-
- name: Build Conda package using conda build
57-
run: conda build -c conda-forge -c openbiosim/label/main ${{ github.workspace }}/biosimspace/recipes/biosimspace
58-
#
59-
- name: Upload Conda package
60-
run: python ${{ github.workspace }}/biosimspace/actions/upload_package.py
37+
ref: main
38+
fetch-depth: 0
39+
#
40+
- name: Compute version info
41+
shell: bash
42+
run: python actions/update_recipe.py
43+
#
44+
- name: Create sdist
45+
shell: bash
46+
run: pip install build && python -m build --sdist && mv dist/*.tar.gz biosimspace-source.tar.gz
47+
working-directory: ${{ github.workspace }}
48+
#
49+
- name: Install pixi
50+
uses: prefix-dev/setup-pixi@v0.9.4
51+
with:
52+
run-install: false
53+
#
54+
- name: Install rattler-build
55+
shell: bash
56+
run: pixi global install rattler-build
57+
#
58+
- name: Write Python variant config
59+
shell: bash
60+
run: printf 'python:\n - "${{ matrix.python-version }}"\n' > "${{ github.workspace }}/python_variant.yaml"
61+
#
62+
- name: Build package using rattler-build
63+
shell: bash
64+
run: rattler-build build --recipe "${{ github.workspace }}/recipes/biosimspace" -c conda-forge -c openbiosim/label/main --variant-config "${{ github.workspace }}/python_variant.yaml"
65+
#
66+
- name: Install anaconda-client
67+
shell: bash
68+
run: python -m pip install anaconda-client
69+
if: github.event.inputs.upload_packages == 'true'
70+
#
71+
- name: Upload package
72+
shell: bash
73+
run: python actions/upload_package.py
6174
env:
6275
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
6376
ANACONDA_LABEL: main

.github/workflows/pr.yaml

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
matrix:
1515
python-version: ["3.10", "3.11", "3.12"]
1616
platform:
17-
- { name: "windows", os: "windows-latest", shell: "pwsh" }
17+
- { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
1818
- { name: "linux", os: "ubuntu-latest", shell: "bash -l {0}" }
1919
- { name: "macos", os: "macos-latest", shell: "bash -l {0}" }
2020
exclude:
@@ -23,12 +23,12 @@ jobs:
2323
- platform:
2424
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
2525
python-version: "3.10"
26-
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
27-
python-version: "3.10"
2826
- platform:
2927
{ name: "macos", os: "macos-latest", shell: "bash -l {0}" }
30-
python-version: "3.12" # MacOS can't run 3.12 yet...
31-
- platform: { name: "windows", os: "windows-latest", shell: "pwsh" }
28+
python-version: "3.11"
29+
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
30+
python-version: "3.10"
31+
- platform: { name: "windows", os: "windows-latest", shell: "bash -l {0}" }
3232
python-version: "3.11"
3333
environment:
3434
name: biosimspace-build
@@ -38,31 +38,40 @@ jobs:
3838
env:
3939
SIRE_DONT_PHONEHOME: 1
4040
SIRE_SILENT_PHONEHOME: 1
41-
REPO: "${{ github.event.pull_request.head.repo.full_name || github.repository }}"
4241
steps:
43-
- uses: conda-incubator/setup-miniconda@v3
42+
#
43+
- uses: actions/checkout@v4
44+
with:
45+
fetch-depth: 0
46+
#
47+
- name: Compute version info
48+
shell: bash
49+
run: python actions/update_recipe.py
50+
#
51+
- name: Create sdist
52+
shell: bash
53+
run: pip install build && python -m build --sdist && mv dist/*.tar.gz biosimspace-source.tar.gz
54+
working-directory: ${{ github.workspace }}
55+
#
56+
- name: Install pixi
57+
uses: prefix-dev/setup-pixi@v0.9.4
4458
with:
45-
auto-update-conda: true
46-
python-version: ${{ matrix.python-version }}
47-
activate-environment: bss_build
48-
miniforge-version: latest
49-
#
50-
- name: Clone the feature branch
51-
run: git clone -b ${{ github.head_ref }} --single-branch https://github.com/${{ env.REPO }} biosimspace
52-
#
53-
- name: Setup Conda
54-
run: conda install -y -c conda-forge boa anaconda-client packaging pip-requirements-parser
55-
#
56-
- name: Update Conda recipe
57-
run: python ${{ github.workspace }}/biosimspace/actions/update_recipe.py
58-
#
59-
- name: Prepare build location
60-
run: mkdir ${{ github.workspace }}/build
61-
#
62-
- name: Build Conda package using conda build using main channel
59+
run-install: false
60+
#
61+
- name: Install rattler-build
62+
shell: bash
63+
run: pixi global install rattler-build
64+
#
65+
- name: Write Python variant config
66+
shell: bash
67+
run: printf 'python:\n - "${{ matrix.python-version }}"\n' > "${{ github.workspace }}/python_variant.yaml"
68+
#
69+
- name: Build package using rattler-build (main channel)
6370
if: ${{ github.base_ref == 'main' }}
64-
run: conda build -c conda-forge -c openbiosim/label/main ${{ github.workspace }}/biosimspace/recipes/biosimspace
65-
#
66-
- name: Build Conda package using conda build using dev channel
71+
shell: bash
72+
run: rattler-build build --recipe "${{ github.workspace }}/recipes/biosimspace" -c conda-forge -c openbiosim/label/main --variant-config "${{ github.workspace }}/python_variant.yaml"
73+
#
74+
- name: Build package using rattler-build (dev channel)
6775
if: ${{ github.base_ref != 'main' }}
68-
run: conda build -c conda-forge -c openbiosim/label/dev ${{ github.workspace }}/biosimspace/recipes/biosimspace
76+
shell: bash
77+
run: rattler-build build --recipe "${{ github.workspace }}/recipes/biosimspace" -c conda-forge -c openbiosim/label/dev --variant-config "${{ github.workspace }}/python_variant.yaml"

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,5 @@ output.yaml
3434
# VSCode config
3535
.vscode/
3636

37-
# Conda recipe (it is auto-generated)
38-
recipes/biosimspace/meta.yaml
37+
# Auto-generate version file.
38+
src/BioSimSpace/_version.py

.pre-commit-config.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
files: ^(src|tests)/
2+
exclude: ^tests/(input|output)/
3+
4+
repos:
5+
# General file quality checks
6+
- repo: https://github.com/pre-commit/pre-commit-hooks
7+
rev: v5.0.0
8+
hooks:
9+
- id: trailing-whitespace
10+
- id: end-of-file-fixer
11+
- id: check-added-large-files
12+
args: [--maxkb=1000] # Prevent files larger than 1MB
13+
- id: check-merge-conflict
14+
15+
# Python formatting and linting
16+
- repo: https://github.com/astral-sh/ruff-pre-commit
17+
rev: v0.8.4
18+
hooks:
19+
# Run the formatter
20+
- id: ruff-format
21+
# Run the linter (optional - remove if too strict)
22+
- id: ruff
23+
args: [--fix, --exit-zero] # Auto-fix but don't block commits

MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
graft tests

0 commit comments

Comments
 (0)