Skip to content

Commit

Permalink
Upgrade PIP packages to latest versions
Browse files Browse the repository at this point in the history
Prework for upgrading zivid-python to be API 2.0 compatible.

When linting, the linter installs both linter and test dependencies,
or pylint will complain:
    ```
    E1101: Module 'pytest' has no 'helpers' member (no-member)
    ```

Removed unnecessary pip packages from lint requirements file.

Removed pytest-unmarked since it seems like it is no longer maintained.

Updated errors raised the wrapper, replacing RuntimeErrors with
TypeErrors
  • Loading branch information
Trym Bremnes committed Jun 25, 2020
1 parent 770b2f7 commit 2e527b6
Show file tree
Hide file tree
Showing 36 changed files with 100 additions and 52 deletions.
5 changes: 4 additions & 1 deletion continuous-integration/linux/lint.sh
Expand Up @@ -10,7 +10,10 @@ nonPublicPythonFiles=$(comm -23 <(echo $pythonFiles| tr " " "\n" |sort) \

bashFiles=$(find "$ROOT_DIR" -name '*.sh')

pip install --requirement "$SCRIPT_DIR/../python-requirements/lint.txt" || exit $?
pip install \
--requirement "$SCRIPT_DIR/../python-requirements/lint.txt" \
--requirement "$SCRIPT_DIR/../python-requirements/test.txt" ||
exit $?

echo Running non public pylint on:
echo "$nonPublicPythonFiles"
Expand Down
2 changes: 1 addition & 1 deletion continuous-integration/linux/test.sh
Expand Up @@ -5,7 +5,7 @@ ROOT_DIR=$(realpath "$SCRIPT_DIR/../..")

pip install --requirement "$SCRIPT_DIR/../python-requirements/test.txt" || exit $?

python -m pytest "$ROOT_DIR" -c "$ROOT_DIR/pytest.ini" --unmarked || exit $?
python -m pytest "$ROOT_DIR" -c "$ROOT_DIR/pytest.ini" || exit $?

"$SCRIPT_DIR/run_samples.sh" || exit $?

Expand Down
17 changes: 6 additions & 11 deletions continuous-integration/python-requirements/lint.txt
@@ -1,11 +1,6 @@
black==19.3b0
darglint==0.5.6
flake8==3.7.7
flake8-docstrings==1.3.0
# Workaround fo https://gitlab.com/pycqa/flake8-docstrings/issues/36
# This requirement can be removed when flake8-docstrings is fixed
pydocstyle<4
pylint==2.3.1
pytest==4.6.4
requests==2.22.0
scikit-build==0.10.0
black==19.10b0
darglint==1.4.1
flake8==3.8.3
flake8-docstrings==1.5.0
pylint==2.5.3
scikit-build==0.11.1
2 changes: 1 addition & 1 deletion continuous-integration/python-requirements/setup.txt
@@ -1 +1 @@
requests==2.22.0
requests==2.24.0
7 changes: 3 additions & 4 deletions continuous-integration/python-requirements/test.txt
@@ -1,5 +1,4 @@
pytest==4.6.4
pytest==5.4.3
pytest-pythonpath==0.7.3
pytest-timeout==1.3.3
pytest-unmarked==1.1
requests==2.22.0
pytest-timeout==1.4.1
requests==2.24.0
2 changes: 1 addition & 1 deletion continuous-integration/windows/setup.py
Expand Up @@ -30,7 +30,7 @@ def _install_pip_dependencies():


def _install_zivid_sdk():
import requests
import requests # pylint: disable=import-outside-toplevel

with tempfile.TemporaryDirectory() as temp_dir:
zivid_installer_url = "https://www.zivid.com/hubfs/softwarefiles/releases/1.8.1+6967bc1b-1/windows/ZividSetup_1.8.1+6967bc1b-1.exe"
Expand Down
8 changes: 7 additions & 1 deletion modules/zivid/camera.py
Expand Up @@ -36,9 +36,12 @@ def __init__(self, internal_camera):
Args:
internal_camera: An internal Zivid camera instance
Raises:
TypeError: unsupported type provided for internal camera
"""
if not isinstance(internal_camera, _zivid.Camera):
raise RuntimeError(
raise TypeError(
"Unsupported type for argument internal camera: {}, type: {}.".format(
internal_camera, type(internal_camera)
)
Expand Down Expand Up @@ -199,6 +202,9 @@ def write_user_data(self, user_data):
Args:
user_data: bytes
Raises:
TypeError: unsupported type provided for user data
"""
if not isinstance(user_data, bytes):
raise TypeError(
Expand Down
3 changes: 3 additions & 0 deletions modules/zivid/frame.py
Expand Up @@ -17,6 +17,9 @@ def __init__(self, file_name):
Args:
file_name: a pathlib.Path instance or a string
Raises:
TypeError: unsupported type provided for file name
"""
if isinstance(file_name, (str, Path)):
self.__impl = _zivid.Frame(str(file_name))
Expand Down
3 changes: 3 additions & 0 deletions modules/zivid/frame_2d.py
Expand Up @@ -19,6 +19,9 @@ def __init__(self, internal_frame_2d):
Args:
internal_frame_2d: internal 2D frame
Raises:
TypeError: unsupported type provided for internal 2d frame
"""
if isinstance(internal_frame_2d, _zivid.Frame2D):
self.__impl = internal_frame_2d
Expand Down
5 changes: 4 additions & 1 deletion modules/zivid/image.py
Expand Up @@ -13,9 +13,12 @@ def __init__(self, internal_image):
Args:
internal_image: an internal image
Raises:
TypeError: unsupported type provided for internal image
"""
if not isinstance(internal_image, _zivid.Image):
raise ValueError(
raise TypeError(
"Unsupported type for argument internal_image. Got {}, expected {}".format(
type(internal_image), type(_zivid.Image)
)
Expand Down
5 changes: 4 additions & 1 deletion modules/zivid/point_cloud.py
Expand Up @@ -13,9 +13,12 @@ def __init__(self, internal_point_cloud):
Args:
internal_point_cloud: a internal point cloud
Raises:
TypeError: unsupported type provided for internal point cloud
"""
if not isinstance(internal_point_cloud, _zivid.PointCloud):
raise ValueError(
raise TypeError(
"Unsupported type for argument internal_point_cloud. Got {}, expected {}".format(
type(internal_point_cloud), type(_zivid.PointCloud)
)
Expand Down
2 changes: 1 addition & 1 deletion pytest.ini
@@ -1,6 +1,6 @@
[pytest]
timeout = 300
addopts = --strict-markers
addopts = --strict-markers -m "not physical_camera"
markers =
physical_camera: requires physical camera to run
python_paths=.
13 changes: 5 additions & 8 deletions setup.py
@@ -1,4 +1,9 @@
import tempfile
import platform
import subprocess
from pathlib import Path
from pkgutil import iter_modules
from skbuild import setup

# To be replaced by: from setuptools_scm import get_version
def get_version():
Expand Down Expand Up @@ -55,13 +60,7 @@ def _check_dependency(module_name, package_hint=None):


def _check_cpp17_compiler():
import tempfile
import platform
from pathlib import Path

def run_process(args, **kwargs):
import subprocess

try:
process = subprocess.Popen(args, **kwargs)
exit_code = process.wait()
Expand Down Expand Up @@ -113,8 +112,6 @@ def _main():

_check_cpp17_compiler()

from skbuild import setup

setup(
name="zivid",
version=_zivid_python_version(),
Expand Down
22 changes: 7 additions & 15 deletions test/conftest.py
@@ -1,20 +1,22 @@
import tempfile
import datetime
from random import randint, choice, uniform
from pathlib import Path

import pytest
import zivid

from scripts.sample_data import download_and_extract


@pytest.fixture(name="application")
def application_fixture():
import zivid

with zivid.Application() as app:
yield app


@pytest.fixture(name="sample_data_file", scope="session")
def sample_data_file_fixture():
from pathlib import Path
import tempfile

with tempfile.TemporaryDirectory() as temp_dir:
sample_data = Path(temp_dir) / "MiscObjects.zdf"
download_and_extract(sample_data)
Expand All @@ -35,16 +37,12 @@ def physical_camera_fixture(application):

@pytest.fixture(name="frame")
def frame_fixture(application, sample_data_file): # pylint: disable=unused-argument
import zivid

with zivid.Frame(sample_data_file) as frame:
yield frame


@pytest.fixture(name="physical_camera_frame_2d")
def physical_camera_frame_2d_fixture(physical_camera):
import zivid

settings_2d = zivid.Settings2D()
with physical_camera.capture_2d(settings_2d) as frame_2d:
yield frame_2d
Expand All @@ -64,10 +62,6 @@ def point_cloud_fixture(frame):

@pytest.fixture(name="random_settings")
def random_settings_fixture():
import datetime
from random import randint, choice, uniform
import zivid

heavily_modified_settings = zivid.Settings(
bidirectional=choice([True, False]),
blue_balance=uniform(1, 8),
Expand Down Expand Up @@ -97,8 +91,6 @@ def random_settings_fixture():
def three_frames_fixture(
application, sample_data_file # pylint: disable=unused-argument
):
import zivid

frames = [zivid.Frame(sample_data_file)] * 3
yield frames
for fram in frames:
Expand Down
3 changes: 3 additions & 0 deletions test/converters/test_from_settings.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def test_to_internal_settings_to_settings_modified(random_settings):
from zivid import Settings
from zivid._settings_converter import to_settings, to_internal_settings
Expand Down
1 change: 1 addition & 0 deletions test/test_application.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import pytest


Expand Down
7 changes: 4 additions & 3 deletions test/test_camera.py
@@ -1,16 +1,17 @@
# pylint: disable=import-outside-toplevel
import pytest


def test_illegal_init(application): # pylint: disable=unused-argument
import zivid

with pytest.raises(RuntimeError):
with pytest.raises(TypeError):
zivid.camera.Camera("this should fail")

with pytest.raises(RuntimeError):
with pytest.raises(TypeError):
zivid.camera.Camera(None)

with pytest.raises(RuntimeError):
with pytest.raises(TypeError):
zivid.camera.Camera(12345)


Expand Down
1 change: 1 addition & 0 deletions test/test_camera_capture.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import pytest


Expand Down
1 change: 1 addition & 0 deletions test/test_camera_info.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import pytest


Expand Down
1 change: 1 addition & 0 deletions test/test_camera_state.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import pytest


Expand Down
1 change: 1 addition & 0 deletions test/test_camera_user_data.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import pytest


Expand Down
3 changes: 2 additions & 1 deletion test/test_capture_assistant.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import datetime
import pytest

Expand Down Expand Up @@ -66,7 +67,7 @@ def test_init_max_capture_time(application): # pylint: disable=unused-argument


def test_default_ambient_light_frequency(
application # pylint: disable=unused-argument
application, # pylint: disable=unused-argument
):
from zivid.capture_assistant import SuggestSettingsParameters, AmbientLightFrequency

Expand Down
3 changes: 3 additions & 0 deletions test/test_environment.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def test_data_path(application): # pylint: disable=unused-argument
import zivid
import pathlib
Expand Down
3 changes: 3 additions & 0 deletions test/test_filters.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def test_default_init_filters(application): # pylint: disable=unused-argument
import zivid

Expand Down
1 change: 1 addition & 0 deletions test/test_firmware.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import pytest


Expand Down
1 change: 1 addition & 0 deletions test/test_frame.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import pytest


Expand Down
1 change: 1 addition & 0 deletions test/test_frame_2d.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import pytest


Expand Down
3 changes: 3 additions & 0 deletions test/test_frame_info.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def test_timestamp():
import datetime
import zivid
Expand Down
3 changes: 3 additions & 0 deletions test/test_hand_eye.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def test_init_pose():
import numpy as np
import zivid.hand_eye
Expand Down
3 changes: 3 additions & 0 deletions test/test_hdr_combine_frames.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def test_list_one_element(frame):
import zivid
from zivid.hdr import combine_frames
Expand Down
1 change: 1 addition & 0 deletions test/test_image_2d.py
@@ -1,3 +1,4 @@
# pylint: disable=import-outside-toplevel
import pytest


Expand Down
7 changes: 5 additions & 2 deletions test/test_point_cloud.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def test_point_cloud_to_array(point_cloud):
import numpy as np

Expand Down Expand Up @@ -64,8 +67,8 @@ def test_illegal_init(application): # pylint: disable=unused-argument
with pytest.raises(TypeError):
zivid.PointCloud() # pylint: disable=no-value-for-parameter

with pytest.raises(ValueError):
with pytest.raises(TypeError):
zivid.PointCloud("Should fail.")

with pytest.raises(ValueError):
with pytest.raises(TypeError):
zivid.PointCloud(123)
3 changes: 3 additions & 0 deletions test/test_settings.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def test_default_init_settings(application): # pylint: disable=unused-argument
import numbers
import datetime
Expand Down
3 changes: 3 additions & 0 deletions test/test_settings_2d.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def test_default_init_settings_2d(application): # pylint: disable=unused-argument
import numbers
import datetime
Expand Down
3 changes: 3 additions & 0 deletions test/test_versioning.py
@@ -1,3 +1,6 @@
# pylint: disable=import-outside-toplevel


def _is_version(sut):
return isinstance(sut, str) and len(sut) > 0

Expand Down

0 comments on commit 2e527b6

Please sign in to comment.