Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
845c57c
Merge branch 'master' into dev
luktug-ltd Jul 24, 2024
7031ab1
Update README
luktug-ltd Jul 24, 2024
8d1150d
Fixed for setup.py
luktug-ltd Jul 24, 2024
cbd78b7
New build system
luktug-ltd Jul 24, 2024
d57ff98
Remove old python build/packaging files
luktug-ltd Jan 8, 2025
899f19f
Update .gitignore for excluding documentation build directory
luktug-ltd Jan 8, 2025
d5f224a
Update documentation + configs
luktug-ltd Jan 8, 2025
f542a51
Remove outdated unit tests
luktug-ltd Jan 8, 2025
3ad5b02
Update Readme
luktug-ltd Jan 9, 2025
4a75fc5
pyslm.support - Formatting and Consistency Edits
luktug-ltd Jan 9, 2025
a9485f3
pyslm.hatcing - Formatting and Consistency Edits
luktug-ltd Jan 9, 2025
1374dd5
Add pyslm.hatching.utils.getContoursFromShapelyPolygon
luktug-ltd Jan 9, 2025
3e979c8
pyslm.analysis - Formatting and consistency edits
luktug-ltd Jan 9, 2025
ae9a33c
pyslm.analysis - Formatting and consistency edits
luktug-ltd Jan 9, 2025
6d18705
pyslm.support.GridBlockSupport - Add range checks
luktug-ltd Jan 9, 2025
2861aa4
pyslm.core - remove redundant code
luktug-ltd Jan 9, 2025
cc5417f
pyslm.core - Formatting and Consistency Edits
luktug-ltd Jan 10, 2025
3d26cec
pyslm.visualise - remove getContoursFromShapelyPolygon
luktug-ltd Jan 10, 2025
fcb00f6
pyslm.visualise - Formatting and Consistency Edits
luktug-ltd Jan 10, 2025
7ac1afc
mypy linting and type checks
luktug-ltd Jan 11, 2025
98f758f
pyproject.toml updates
luktug-ltd Jan 11, 2025
2de6fe4
bump to v.0.6.1
luktug-ltd Jan 11, 2025
7f6c47e
Add Github CI workflow
luktug-ltd Jan 11, 2025
7f5ebce
Add pyslm unit tests
luktug-ltd Jan 11, 2025
e03f8e0
Update github CI workflow
luktug-ltd Jan 11, 2025
c58c38d
Ruff Linter Corrections
luktug-ltd Jan 12, 2025
7c39ad8
Removal of redundant setup.py
luktug-ltd Jan 13, 2025
012b03a
Update CD/CI Workflows
luktug-ltd Aug 19, 2025
121ab64
Update documentation configuration
luktug-ltd Aug 19, 2025
a35a9ad
Use explicit imports in __init__.py files
luktug-ltd Aug 20, 2025
e3a446a
Update path length analysis to include point exposure
luktug-ltd Aug 21, 2025
0847bbf
Update render.py
luktug-ltd Aug 21, 2025
46fbaf2
Miscellaneous fixes
luktug-ltd Aug 21, 2025
3970210
PySLM Core - Fixes
luktug-ltd Aug 21, 2025
4e39ed8
Fix for block volume support generation
luktug-ltd Aug 21, 2025
89853ec
Update README.rst
luktug-ltd Aug 22, 2025
a28f13d
Update References and Cited Work
luktug-ltd Sep 13, 2025
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
203 changes: 203 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
name: CD

on:
push:
branches:
- main
tags:
- "v*.*.*"
pull_request:
branches:
- main

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

jobs:

lint-build:
name: Linting
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ruff
- name: Ruff lint
run: |
ruff check --output-format=github .

docs-build:
name: Docs
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install libspatial
run: |
sudo apt-get update -y -qq
sudo apt-get install -qq -y libglu1-mesa libspatialindex6
- name: Install dev dependencies
run: |
python -m pip install --upgrade pip
pip install -U -e .[docs]
- name: Build docs
run: |
cd docs
make html SPHINXOPTS="-W --keep-going"

test-builds:
name: ${{ matrix.name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- name: Test py39
os: ubuntu-latest
pyversion: '3.9'
- name: Test py310
os: ubuntu-latest
pyversion: '3.10'
- name: Test py311
os: ubuntu-latest
pyversion: '3.11'
- name: Test py312
os: ubuntu-latest
pyversion: '3.12'
- name: Test py313
os: ubuntu-latest
pyversion: '3.13'
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.pyversion }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.pyversion }}
- name: Install libspatial
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update -y -qq
sudo apt-get install -qq -y libglu1-mesa libspatialindex6
- name: Install package and dev dependencies
run: |
python -m pip install --upgrade pip
pip install .[tests]
rm -r pyslm
- name: Unit tests
run: |
pytest -v tests

test-examples-build:
name: Test examples ${{ matrix.pyversion }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
pyversion: '3.10'
- os: ubuntu-latest
pyversion: '3.12'
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install libspatial
run: |
sudo apt-get update -y -qq
sudo apt-get install -qq -y libglu1-mesa libspatialindex6
- name: Install dev dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[examples]
- name: Show pyslm version
run: |
python -c "import pyslm; print(pyslm.__version__)"

release-build:
name: Build release on ubuntu-latest
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Install dev dependencies
run: |
python -m pip install --upgrade pip
pip install -U flit build twine
- name: Create source distribution
run: |
python -m build -n -s
- name: Build wheel
run: |
python -m build -n -w
- name: Test sdist
shell: bash
run: |
rm -rf ./pygfx
pushd $HOME
pip install $GITHUB_WORKSPACE/dist/*.tar.gz
python -c "import pygfx; print(pygfx.__version__)"
popd
# don't run tests, we just want to know if the sdist can be installed
pip uninstall -y pygfx
git reset --hard HEAD
- name: Twine check
run: |
twine check dist/*
- name: Upload distributions
uses: actions/upload-artifact@v4
with:
path: dist
name: dist

publish:
name: Publish release to Github and Pypi
runs-on: ubuntu-latest
needs: [test-builds, release-build]
if: success() && startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
- name: Download assets
uses: actions/download-artifact@v4
with:
name: dist
path: dist
- name: Release
uses: softprops/action-gh-release@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
files: |
dist/*.tar.gz
dist/*.whl
draft: true
prerelease: false
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_PASSWORD }}
Loading