Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
58 changes: 24 additions & 34 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,11 @@ jobs:
shell: bash
run: |
cd /github/workspace/
pip install torch==2.4.0
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.4.0+cpu.html
pip install torch-cluster -f https://data.pyg.org/whl/torch-2.4.0+cpu.html
pip install torch==2.9.0
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.9.0+cpu.html
pip install torch-cluster -f https://data.pyg.org/whl/torch-2.9.0+cpu.html
pip install --force-reinstall git+https://github.com/ai4trees/pointtorch.git
python -m pip install -v --upgrade -e .'[dev, docs]'
pip install --force-reinstall git+https://github.com/josafatburmeister/circle_detection.git
mypy . --warn-unused-ignores --show-error-codes --no-incremental
pylint:
runs-on: ubuntu-latest
Expand All @@ -73,28 +72,28 @@ jobs:
shell: bash
run: |
cd /github/workspace/
pip install torch==2.4.0
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.4.0+cpu.html
pip install torch-cluster -f https://data.pyg.org/whl/torch-2.4.0+cpu.html
pip install torch==2.9.0
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.9.0+cpu.html
pip install torch-cluster -f https://data.pyg.org/whl/torch-2.9.0+cpu.html
pip install --force-reinstall git+https://github.com/ai4trees/pointtorch.git
python -m pip install -v --upgrade .'[dev, docs]'
echo "install circle detection"
pip install --force-reinstall git+https://github.com/josafatburmeister/circle_detection.git
echo "installed circle detection"
pylint src --rcfile=.rcfile
pylint test --rcfile=.rcfile --disable duplicate-code --disable missing-function-docstring
test:
runs-on: ubuntu-latest
# run tests for all supported Python and PyTorch versions
strategy:
matrix:
version: [
{python: "3.10", torch: "2.1.0"},
{python: "3.11", torch: "2.2.0"},
{python: "3.12", torch: "2.3.0"},
{python: "3.12", torch: "2.4.0"},
# {python: "3.13", torch: "2.5.0"} # Python 3.13 currently is not supported because PyGAM does not support it
{python: "3.10", torch: "2.5.0", image: "python:3.10-trixie"},
{python: "3.11", torch: "2.6.0", image: "python:3.11-trixie"},
{python: "3.12", torch: "2.7.0", image: "python:3.12-trixie"},
{python: "3.13", torch: "2.8.0", image: "python:3.13-trixie"},
{python: "3.14", torch: "2.9.0", image: "python:3.14-trixie"}
]
container:
image: ${{ matrix.version.image }}
volumes:
- ${{ github.workspace }}:/github/workspace
steps:
- name: Clean up potential remnants of past jobs
uses: AutoModality/action-clean@v1.1.0
Expand All @@ -103,53 +102,44 @@ jobs:
with:
ref: ${{ github.head_ref }}
fetch-depth: 0
- name: Setup up Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.version.python }}
- name: Install package and dependencies
if: ${{ matrix.version.python != '3.13'}}
if: ${{ matrix.version.python < '3.14'}}
shell: bash
run: |
apt-get update && apt-get install -y --no-install-recommends g++
python -m pip install torch==${{ matrix.version.torch }}
python -m pip install torch-scatter -f https://data.pyg.org/whl/torch-${{ matrix.version.torch }}+cpu.html
python -m pip install torch-cluster -f https://data.pyg.org/whl/torch-${{ matrix.version.torch }}+cpu.html
pip install --force-reinstall git+https://github.com/ai4trees/pointtorch.git
python -m pip install --upgrade -e .'[dev, docs]'
pip install --force-reinstall git+https://github.com/josafatburmeister/circle_detection.git
- name: Install package and dependencies
if: ${{ matrix.version.python == '3.13'}}
if: ${{ matrix.version.python >= '3.14'}}
shell: bash
run: |
python -m pip install torch==${{ matrix.version.torch }}
python -m pip install --upgrade wheel setuptools numpy
python -m pip install --no-use-pep517 torch-scatter -f https://data.pyg.org/whl/torch-${{ matrix.version.torch }}+cpu.html
python -m pip install torch-scatter -f https://data.pyg.org/whl/torch-${{ matrix.version.torch }}+cpu.html
python -m pip install torch-cluster -f https://data.pyg.org/whl/torch-${{ matrix.version.torch }}+cpu.html
pip install --force-reinstall git+https://github.com/ai4trees/pointtorch.git
cd /github/workspace/
python -m pip install --upgrade -e .'[dev, docs]'
pip install --force-reinstall git+https://github.com/josafatburmeister/circle_detection.git
- name: Install compatible numpy version
if: ${{ matrix.version.python == '3.10' || matrix.version.python == '3.11' || matrix.version.python == '3.12' }}
shell: bash
run: |
python -m pip install numpy==1.26.4
- name: Execute tests
if: matrix.version.python != '3.12'
shell: bash
run: |
pytest
- name: Execute tests and measure code coverage
if: matrix.version.python < '3.14'
shell: bash
run: |
cd /github/workspace/
pytest
- name: Execute tests (without numba JIT) and measure code coverage
if: matrix.version.python == '3.12'
if: matrix.version.python == '3.14'
shell: bash
run: |
cd /github/workspace/
NUMBA_DISABLE_JIT=1 pytest --cov --cov-report=xml
- name: Upload results to Codecov
if: matrix.version.python == '3.12'
if: matrix.version.python == '3.14'
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
Expand Down
4 changes: 3 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,12 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
keywords = ["tree", "point cloud", "segmentation"]
requires-python = ">=3.10, <3.13"
requires-python = ">=3.10"
dependencies = [
"circle_detection>=1.0.0, <2.0.0",
"cloth-simulation-filter>=1.1.5, <2.0.0",
Expand Down
Loading