Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
a293bb6
PERF: [C++] minor performance opt in confusion matrix computation
RUrlus May 19, 2026
293c6ed
FIX: [C++] Buffer overrun in multi-threaded bounds computation
RUrlus May 19, 2026
3e028db
PERF: [C++] Minor perf improvements in multn loglikelihoods
RUrlus May 19, 2026
c20777b
FEAT: Pure Python implementation of joint uncertainty over PPN and Re…
RUrlus May 21, 2026
6131f10
NB: Development notebook of PPN - Recall
RUrlus May 21, 2026
7ccdc02
BREAK: [C++] Remove simualation and BVN methods
RUrlus May 22, 2026
c015ce3
BREAK: Remove simulation and BVN methods
RUrlus May 22, 2026
595dd16
CHANGE: [C++] Consolidate mutlinomial implementations
RUrlus May 22, 2026
906ffbc
FEAT: [C++] Backend for Multn. error over PPN-Recall
RUrlus May 22, 2026
f25860f
CHANGE: Switch to C++ backend for PPN-Recall
RUrlus May 22, 2026
29470d8
TST: Add tests for PPN-Recall
RUrlus May 22, 2026
f16df45
BLD: Restructure package and move to scikit-build core
RUrlus May 22, 2026
962f59e
CICD: Update CICD suite
RUrlus May 22, 2026
c5a5569
BLD: [C++] Modernise CMake and vendor OpenMP
RUrlus May 22, 2026
2e49539
CHANGE: [C++] Remove sampling code used for simulated error computation
RUrlus May 23, 2026
f13034c
STYLE: [C++] Update include headers and minor formatting
RUrlus May 23, 2026
cdff676
STYLE: String formatting
RUrlus May 23, 2026
92c2339
TEST: Remove Bivariate-Normal and internal sampling tests
RUrlus May 23, 2026
538173e
CHANGE: [C++] Use the guarded implementation for single point profiles
RUrlus May 26, 2026
7cbf81a
REL: Release candidate of version 0.2.0
RUrlus May 26, 2026
a29d252
DEP: Add missing dependencies in toml
RUrlus May 26, 2026
370cb09
TEST: Fix deprecated infty call
RUrlus May 26, 2026
91a76bc
CICD: Use env to Windows powershell compatibility
RUrlus May 26, 2026
8e15c24
CICD: Make valgrind step more verbose
RUrlus May 26, 2026
44b6f75
CICD: Workaround for Valgrind chocking on Numpy's AVX2 quicksort kernel
RUrlus May 26, 2026
52544f3
FIX: [C++] Fix conflicting defintion of size_t on 32bit Windows
RUrlus May 26, 2026
55b9184
CICD: Vendor OpenMP and skip obscure architectures
RUrlus May 26, 2026
cb73448
STYLE: [C++] Use consistent naming for PPN-Recall variant
RUrlus May 27, 2026
3d73759
STYLE: Use consistent naming for PPN-Recall profile
RUrlus May 28, 2026
22dc969
CHANGE: [C++] Simplify profile likelihoods paths over the profiles
RUrlus May 28, 2026
d20ff7d
TEST: [C++] Add Valgrind suppression file
RUrlus May 28, 2026
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
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/Bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Bug Report
description: Create a report to help us improve mmu
title: "BUG: <Please write a comprehensive title after the 'BUG: ' prefix>"

body:
- type: markdown
attributes:
value: Thank you for taking the time to file a bug report.

- type: textarea
attributes:
label: Describe your issue.
validations:
required: true

- type: textarea
attributes:
label: Reproducing Code Example
description: Paste the reproducing code and it will be rendered as a code block.
render: python
validations:
required: true

- type: textarea
attributes:
label: Error message
description: If any, paste the full traceback or error output.
render: shell
validations:
required: true

- type: textarea
attributes:
label: MMU/NumPy/SciPy/Python version and system information
description: Run and paste output from `import platform, sys, mmu, numpy, scipy; print(platform.platform()); print(mmu.__version__, numpy.__version__, scipy.__version__, sys.version_info)`.
render: shell
validations:
required: true

25 changes: 0 additions & 25 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

30 changes: 8 additions & 22 deletions .github/workflows/asan.yml
Original file line number Diff line number Diff line change
@@ -1,45 +1,31 @@
name: Asan

on:
pull_request:
branches:
- stable
- unstable
workflow_dispatch:
pull_request:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

defaults:
run:
shell: bash

jobs:
pre_job:
# continue-on-error: true # Uncomment once integration is finished
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
cancel_others: 'true'
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]'
build:
name: Asan
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: actions/checkout@v6
with:
submodules: false

- uses: actions/setup-python@v4
- uses: actions/setup-python@v6
with:
python-version: '3.10'
python-version: '3.12'

- name: Install python packages
run: |
Expand Down
125 changes: 0 additions & 125 deletions .github/workflows/build.yml

This file was deleted.

69 changes: 13 additions & 56 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,34 @@
name: Linux

defaults:
run:
shell: bash

on:
workflow_dispatch:
pull_request:
branches:
- stable
- unstable
push:
branches:
- stable
schedule:
- cron: '0 23 * * 1'

jobs:
pre_job:
# continue-on-error: true # Uncomment once integration is finished
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
cancel_others: 'true'
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]'
tests:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.name }} Python ${{ matrix.python-version }}
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
name: Linux CPython ${{ matrix.python-version }}
strategy:
fail-fast: false
matrix:
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
config:
- {
name: "Ubuntu (Clang-14)",
os: ubuntu-latest,
build_type: "Release",
cc: "clang-14",
cxx: "clang++-14",
generators: "Ninja",
target: "all"
}
- {
name: "Ubuntu (GCC-11)",
os: ubuntu-latest,
build_type: "Release",
cc: "gcc-11",
cxx: "g++-11",
generators: "Ninja",
target: "all"
}
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v6
with:
submodules: true

- uses: actions/setup-python@v4
- uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}

- name: Add requirements
run: python -m pip install --upgrade pip wheel setuptools pytest

- name: Build and install
run: CXX=${{ matrix.config.cxx }} CMAKE_ARGS="-DMMU_ENABLE_INTERNAL_TESTS=ON -DMMU_CICD_MODE=ON" pip install --verbose .
run: |
python -m pip install --upgrade pip
CMAKE_ARGS="-DMMU_CICD_MODE=ON -DMMU_ENABLE_INTERNAL_TESTS=ON" python -m pip install ".[test]" --verbose

- name: Unit test
run: pytest tests
- name: Test
run: |
cd tests
pytest -vv
Loading
Loading