Skip to content

Commit

Permalink
Merge pull request #14 from true-real-michael/ci-tests-linters
Browse files Browse the repository at this point in the history
feat ci: tests, linters
  • Loading branch information
true-real-michael authored Nov 5, 2023
2 parents 4b85b8e + 9bec930 commit 1edc66e
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 7 deletions.
46 changes: 46 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Tests and Linters

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest
pip install -r requirements.txt
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Lint with black
uses: psf/black@stable
with:
options: "--check --verbose --diff"

- name: Test with pytest
run: |
pip install .
pytest
4 changes: 2 additions & 2 deletions octreelib/grid/grid_base.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from abc import ABC, abstractmethod
from dataclasses import dataclass
from dataclasses import dataclass, field
from enum import Enum
from typing import Callable, Generic, List, Type

Expand Down Expand Up @@ -63,7 +63,7 @@ class GridConfigBase(ABC):
octree_config: OctreeConfigBase
debug: bool = False
grid_voxel_edge_length: int = 1
corner: RawPoint = np.array(([0.0, 0.0, 0.0]))
corner: RawPoint = field(default_factory=lambda: np.array(([0.0, 0.0, 0.0])))

@property
def compatible_octree_types(self):
Expand Down
9 changes: 4 additions & 5 deletions octreelib/internal/voxel.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import itertools
from abc import ABC, abstractmethod
from typing import Optional

import numpy as np
Expand Down Expand Up @@ -48,7 +47,9 @@ def is_point_geometrically_inside(self, point: RawPoint) -> bool:
:param point: Point to check.
:return: True if point is inside the bounding box of a voxel, False if outside.
"""
return bool((point >= self.corner_min).all()) and bool((point <= self.corner_max).all())
return bool((point >= self.corner_min).all()) and bool(
(point <= self.corner_max).all()
)

@property
def corner_min(self):
Expand Down Expand Up @@ -88,9 +89,7 @@ def __init__(
):
super().__init__(corner_min, edge_length)

self._points: PointCloud = (
points if points is not None else PointCloud.empty()
)
self._points: PointCloud = points if points is not None else PointCloud.empty()

def get_points(self) -> RawPointCloud:
"""
Expand Down

0 comments on commit 1edc66e

Please sign in to comment.