Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
8e149f8
Start a new unstable development branch and remove ultiprocess and d…
gb119 Mar 7, 2021
63f7e25
Development branch cahnges
gb119 Mar 17, 2021
d9f18fb
Start developping on new branch, port over new ovf file reader and te…
gb119 Apr 7, 2021
d915584
Plot updates in master
gb119 Oct 10, 2021
00816fd
Merge branch 'devel'
gb119 Nov 20, 2021
7efdd78
Merge branch 'stable'
gb119 Nov 20, 2021
498df52
Reformatting following merges
gb119 Nov 20, 2021
be5c078
Updates for new development branch
gb119 Nov 20, 2021
7971b4f
Update main branch to fold in code from stable and devel branches and…
gb119 Nov 21, 2021
ca2e697
Rework paralel execution code to use concurrent.futures and/or dask
gb119 Nov 23, 2021
3e3c39a
Minor code linting tweaks. Remove depricated FielFormats module
gb119 Nov 23, 2021
42c2aca
Update docbuild requirements
gb119 Nov 23, 2021
f360e08
Update doc fgures and test doc building conda environment
gb119 Nov 24, 2021
d92bee4
Rename readthedocs file
gb119 Nov 24, 2021
7ee8a5a
Trty to get the .readthedocs config file in place
gb119 Nov 24, 2021
8d42f4a
Fix typo in environment file
gb119 Nov 24, 2021
54129a4
Remove conda forge from docs build environment
gb119 Nov 24, 2021
8526ca0
Add pip to the docs build environment
gb119 Nov 24, 2021
b796bbb
Build docs on Python 3.7
gb119 Nov 24, 2021
291766d
Try to avoid tripping over qt versions
gb119 Nov 24, 2021
748a279
Defer skimage.viewer import
gb119 Nov 24, 2021
7882769
Tell RTD to install graphviz
gb119 Nov 24, 2021
f5ad6dd
Fix some critical errors in the code and correct some typos in the cu…
gb119 Nov 25, 2021
8de534a
Code fixes
gb119 Nov 25, 2021
8325740
Sort out a bd docstring
gb119 Nov 25, 2021
846b9e3
Remove Stoner.Folders as it contained the same code as Stoner.folders…
gb119 Nov 26, 2021
979607a
Rebuild docs post Folders module removal
gb119 Nov 26, 2021
a5f1aca
Improve handling of reading direct from buffers. Add some more code t…
gb119 Nov 28, 2021
cdb0e59
Update build_conda.yaml
gb119 Oct 1, 2023
78ed9e0
Local changes
gb119 Dec 24, 2023
9cde41b
Merge branch 'stable' of github.com:stonerlab/Stoner-PythonCode
gb119 Dec 24, 2023
55d2eeb
OVerwrite master with current stable to restart dev 0.11 tree
gb119 Dec 24, 2023
289da44
Tweak PCAR script
gb119 Dec 25, 2023
83c7ffd
Removed DataFile subclasses for file formats and replace with functio…
gb119 Dec 31, 2023
bb7d58d
llow unregistering of loaders and savers.
gb119 Jan 1, 2024
ee19dbb
Remove some outdated syntax constructs
gb119 Jan 1, 2024
b5a833d
Further code cleanups
gb119 Jan 2, 2024
f062e95
Cleanup some code issues found by local pylint
gb119 Jan 2, 2024
5410b1e
More code cleanups
gb119 Jan 3, 2024
9d208a3
emove FileFormats from repository and some minor cleanups
gb119 Jan 3, 2024
6c5b9ce
Few more code fixes, make the widget testing more ropbust for paralle…
gb119 Jan 3, 2024
c537aea
Implement lazy loading of parts of the overall package to speed up st…
gb119 Jan 3, 2024
62d0b24
Stop pylint being confused by lazy module loading
gb119 Jan 3, 2024
11d33ab
Turn off another false positive test due to lazy loading
gb119 Jan 3, 2024
33277a7
Tweak the codestyle checker config to be more compatible with black
gb119 Jan 4, 2024
c7873eb
Minor code tidy ups
gb119 Jan 4, 2024
283d29b
Upadte master
gb119 Apr 20, 2024
330ae07
Update test-env.yml
gb119 Apr 21, 2024
f350aac
Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows
dependabot[bot] Sep 3, 2024
aa43eb7
Merge pull request #27 from stonerlab/dependabot/github_actions/dot-g…
gb119 Sep 4, 2024
37e53e8
Initial plan
Copilot Dec 9, 2025
723fc29
Refactor add_column function to reduce complexity and improve readabi…
Copilot Dec 9, 2025
9c18ebc
Merge pull request #29 from stonerlab/copilot/refactor-add-column-fun…
gb119 Dec 9, 2025
f33ff95
Add new files to devel branch
gb119 Dec 21, 2025
e2c9f68
Merge branch 'stable' into devel
gb119 Dec 21, 2025
c89161d
Merge branch 'master' of github.com:stonerlab/Stoner-PythonCode
gb119 Dec 21, 2025
fbe3602
Merge branch 'master' of github.com:stonerlab/Stoner-PythonCode
gb119 Dec 21, 2025
16eb450
Fix references to master branch
gb119 Dec 21, 2025
a92656c
Initial plan
Copilot Mar 18, 2026
d7e6074
Replace conda with mamba (micromamba) in GitHub Actions workflows
Copilot Mar 18, 2026
3786d3d
Pin all GitHub Actions to SHA hashes for supply chain security
Copilot Mar 18, 2026
68ccda1
Pin Actions to SHA hashes, switch to micromamba, add permissions, fix…
Copilot Mar 18, 2026
d4c204a
Merge remote branch: rebase onto stable with SHA pinning and test_is_…
Copilot Mar 18, 2026
00020b7
Remove unsupported micromamba config --show-sources from Mamba inform…
Copilot Mar 18, 2026
12b82a1
Speed up mamba install step by enabling environment and download caching
Copilot Mar 18, 2026
6cb282d
Merge pull request #30 from stonerlab/copilot/stable-replace-conda-wi…
gb119 Mar 18, 2026
1e8e6fa
Initial plan
Copilot Mar 20, 2026
b7a1391
Convert packaging to modern pyproject.toml; fix doc/conf.py exception…
Copilot Mar 20, 2026
786c420
Merge stable branch: v0.11.1, Python 3.14, bug fixes
Copilot Mar 20, 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
4 changes: 0 additions & 4 deletions .coveragerc

This file was deleted.

70 changes: 35 additions & 35 deletions .github/workflows/build_conda.yaml
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
name: Conda
on:
release:
types: ['released', 'prereleased']
# workflow_dispatch: # Un comment line if you also want to trigger action manually
jobs:
conda_deployment_with_new_tag:
name: Conda deployment of package for platform ${{ matrix.os }} with Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
- name: Conda environment creation and activation
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830
with:
python-version: "3.12"
environment-file: recipe/build-env.yml
activate-environment: build-environment
auto-update-conda: true
auto-activate-base: false
show-channel-urls: true
- name: Build and upload the conda packages
uses: uibcdf/action-build-and-upload-conda-packages@4940704d2be7906d3bda5b00e3c3e4472fd7808f
with:
meta_yaml_dir: recipe
overwrite: true
python-version: "3.12"
user: phygbu
label: main
token: ${{ secrets.ANACONDA }} # Replace with the right name of your secret

name: Conda

on:
release:
types: ['released', 'prereleased']

# workflow_dispatch: # Un comment line if you also want to trigger action manually

jobs:
conda_deployment_with_new_tag:
name: Conda deployment of package for platform ${{ matrix.os }} with Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
permissions:
contents: read

steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Conda environment creation and activation
uses: mamba-org/setup-micromamba@add3a49764cedee8ee24e82dfde87f5bc2914462 # v2.0.7
with:
environment-file: recipe/build-env.yml
environment-name: build-environment
create-args: python=3.12
init-shell: bash
- name: Build and upload the conda packages
uses: uibcdf/action-build-and-upload-conda-packages@4940704d2be7906d3bda5b00e3c3e4472fd7808f
with:
meta_yaml_dir: recipe
overwrite: true
python-version: "3.12"
user: phygbu
label: main
token: ${{ secrets.ANACONDA }} # Replace with the right name of your secret
192 changes: 100 additions & 92 deletions .github/workflows/run-tests-action.yaml
Original file line number Diff line number Diff line change
@@ -1,92 +1,100 @@
name: pytest
on: push
jobs:
run_pytest:
name: run-tests (${{ matrix.python-version }}, ${{ matrix.os }})
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -l {0}
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12","3.13", "3.14"]
os: ["ubuntu-latest"]
steps:
- name: Check out repository code
uses: actions/checkout@v4
- name: Install Conda environment with Micromamba
uses: conda-incubator/setup-miniconda@v3
with:
environment-file: tests/test-env.yml
python: ${{ matrix.python-version }}
channels: conda-forge,phygbu
channel-priority: flexible
activate-environment: test-environment
auto-activate-base: false
- name: Conda information
run: |
conda info
conda list
conda config --show-sources
conda config --show
- name: install package
run: pip install --no-deps .
- name: Install headless server
run: |
sudo apt-get update
sudo apt-get install xvfb
sudo apt-get install qtbase5-dev
- name: Test with xvfb
run: |
xvfb-run --auto-servernum /usr/share/miniconda/envs/test-environment/bin/pytest -n 2 --cov-report= --cov=Stoner --junitxml pytest.xml
coverage xml
env:
TZ: Europe/London
LC_CTYPE: en_GB.UTF-8
GH_ACTION: True
- name: Cleanup X11 server
uses: bcomnes/cleanup-xvfb@v1
- name: Coveralls Parallel
uses: coverallsapp/github-action@v2
with:
flag-name: run-${{ join(matrix.*, '-') }}
format: cobertura
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: Unit Test Results (Python ${{ matrix.python-version }})
path: pytest.xml
- name: Post Coveraage result to Codacy
run: |
export CODACY_PROJECT_TOKEN=${{ secrets.CODACY_PROJECT_TOKEN }}
bash <(curl -Ls https://coverage.codacy.com/get.sh) report -r coverage.xml

publish-test-results:
name: "Publish Unit Tests Results"
needs: run_pytest
runs-on: ubuntu-latest
if: always()

steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts

- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: artifacts/**/*.xml

coverage-finish:
needs: run_pytest
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@v2
with:
parallel-finished: true
carryforward: "run-1,run-2"
name: pytest
on: push
jobs:
run_pytest:
name: run-tests (${{ matrix.python-version }}, ${{ matrix.os }})
runs-on: ${{ matrix.os }}
permissions:
contents: read
checks: write
defaults:
run:
shell: bash -l {0}
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12","3.13", "3.14"]
os: ["ubuntu-latest"]
steps:
- name: Check out repository code
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- name: Install Mamba environment
uses: mamba-org/setup-micromamba@add3a49764cedee8ee24e82dfde87f5bc2914462 # v2.0.7
with:
environment-file: tests/test-env.yml
environment-name: test-environment
create-args: >-
python=${{ matrix.python-version }}
--channel-priority flexible
init-shell: bash
cache-downloads: true
cache-environment: true
- name: Mamba information
run: |
micromamba info
micromamba list
- name: install package
run: pip install --no-deps .
- name: Install headless server
run: |
sudo apt-get update
sudo apt-get install xvfb
sudo apt-get install qtbase5-dev
- name: Test with xvfb
run: |
xvfb-run --auto-servernum pytest -n 2 --cov-report= --cov=Stoner --junitxml pytest.xml
coverage xml
env:
TZ: Europe/London
LC_CTYPE: en_GB.UTF-8
GH_ACTION: True
- name: Cleanup X11 server
uses: bcomnes/cleanup-xvfb@9e016c43bb8d73fe7d5933d2ef00fd770c1a7c50 # v1.0.9
- name: Coveralls Parallel
uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e # v2.3.7
with:
flag-name: run-${{ join(matrix.*, '-') }}
format: cobertura
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: Unit Test Results (Python ${{ matrix.python-version }})
path: pytest.xml
- name: Post Coveraage result to Codacy
run: |
export CODACY_PROJECT_TOKEN=${{ secrets.CODACY_PROJECT_TOKEN }}
bash <(curl -Ls https://coverage.codacy.com/get.sh) report -r coverage.xml

publish-test-results:
name: "Publish Unit Tests Results"
needs: run_pytest
runs-on: ubuntu-latest
if: always()
permissions:
checks: write
pull-requests: write

steps:
- name: Download Artifacts
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
path: artifacts

- name: Publish Unit Test Results
uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2.23.0
with:
files: artifacts/**/*.xml

coverage-finish:
needs: run_pytest
runs-on: ubuntu-latest
permissions:
checks: write
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e # v2.3.7
with:
parallel-finished: true
carryforward: "run-1,run-2"
8 changes: 8 additions & 0 deletions .idea/PythonCode.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

57 changes: 57 additions & 0 deletions .ipynb_checkpoints/Makefile-checkpoint
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
ifeq ($(OS),"Windows_NT")
SPHINX_BUILD = sphinx-build.bat
else
SPHINX_BUILD = sphinx-build
endif
PYTHON_SETUP = python setup.py

BRANCH = `git branch | grep '*' | cut -d ' ' -f 2`

clean:
$(MAKE) -C doc clean
- rm dist/*
- rm -rf build/*
- find -name '__pycache__' -exec rm -rf {} \;

test:
pytest -n `python -c 'import os;print(min(8,os.cpu_count()))'`

check:
prospector -E -0 --profile-path=. -P .landscape.yml Stoner > prospector-report.txt

black:
find Stoner -name '*.py' | xargs -d "\n" black -l 119
find doc/samples -name '*.py' | xargs -d "\n" black -l 80
find scripts -name '*.py' | xargs -d "\n" black -l 80

commit: black
$(MAKE) -C doc readme
git add tests
git add Stoner
git add doc/samples
git commit -a
git push origin $(BRANCH)

_build_wheel:
$(MAKE) -C doc readme
$(PYTHON_SETUP) sdist bdist_wheel --universal
twine upload dist/*

wheel: clean test _build_wheel

docbuild: FORCE
$(MAKE) -C doc clean
$(MAKE) -C doc html
( cd ../gh-pages; git pull )
rsync -rcm --perms --chmod=ugo=rwX --delete --filter="P .git" --filter="P .nojekyll" doc/_build/html/ ../gh-pages/

conda:
conda build --python=3.6 recipe &
conda build --python=3.7 recipe &
conda build --python 3.8 recipe &


rtdbuild: export READTHEDOCS=1
rtdbuild: docbuild

FORCE:
Loading
Loading