Skip to content

Commit

Permalink
examples: Run ni-python-styleguide separately for each example (#443)
Browse files Browse the repository at this point in the history
* examples: Add ni-python-styleguide dependency

* examples: Run ni-python-styleguide fix in each example project

Running it from the example project sets ni_measurementlink_service as 3rd party

* pyproject.toml: Exclude examples from ni-python-styleguide for main project

* PR workflow: Lint examples separately
  • Loading branch information
bkeryan authored Oct 13, 2023
1 parent 463b3d0 commit 60ead5b
Show file tree
Hide file tree
Showing 59 changed files with 59 additions and 78 deletions.
9 changes: 9 additions & 0 deletions .github/workflows/check_examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ jobs:
popd
echo "::endgroup::"
done
- name: Lint examples
run: |
for example in examples/*/; do
echo "::group::$example"
pushd $example
poetry run ni-python-styleguide lint
popd
echo "::endgroup::"
done
- name: Mypy static analysis (examples, Linux)
run: |
for example in examples/*/; do
Expand Down
1 change: 0 additions & 1 deletion examples/game_of_life/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import click
import grpc

import ni_measurementlink_service as nims
from ni_measurementlink_service import session_management
from ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1 import (
Expand Down
3 changes: 1 addition & 2 deletions examples/game_of_life/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@
from typing import Any, Generator, List, Tuple

import click
from _helpers import configure_logging, verbosity_option

import ni_measurementlink_service as nims
from _helpers import configure_logging, verbosity_option
from ni_measurementlink_service._internal.stubs.ni.protobuf.types import xydata_pb2

service_directory = pathlib.Path(__file__).resolve().parent
Expand Down
1 change: 1 addition & 0 deletions examples/game_of_life/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ ni-measurementlink-service = {version = "^1.3.0-dev0", allow-prereleases = true}
click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558

[tool.poetry.group.dev.dependencies]
ni-python-styleguide = ">=0.4.1"
mypy = ">=1.0"
grpc-stubs = "^1.53"
types-protobuf = "^4.21"
Expand Down
1 change: 0 additions & 1 deletion examples/nidaqmx_analog_input/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import click
import grpc

import ni_measurementlink_service as nims
from ni_measurementlink_service import session_management
from ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1 import (
Expand Down
3 changes: 1 addition & 2 deletions examples/nidaqmx_analog_input/_nidaqmx_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@
from typing import Optional

import grpc
import nidaqmx

import ni_measurementlink_service as nims
import nidaqmx


def create_task(
Expand Down
3 changes: 1 addition & 2 deletions examples/nidaqmx_analog_input/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from typing import Any, List, Optional, Tuple

import click
import ni_measurementlink_service as nims
import nidaqmx
from _helpers import (
ServiceOptions,
Expand All @@ -19,8 +20,6 @@
from _nidaqmx_helpers import create_task
from nidaqmx.constants import TaskMode

import ni_measurementlink_service as nims

script_or_exe = sys.executable if getattr(sys, "frozen", False) else __file__
service_directory = pathlib.Path(script_or_exe).resolve().parent
measurement_service = nims.MeasurementService(
Expand Down
1 change: 1 addition & 0 deletions examples/nidaqmx_analog_input/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ ni-measurementlink-service = {version = "^1.3.0-dev0", allow-prereleases = true}
click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pallets/click/issues/2558

[tool.poetry.group.dev.dependencies]
ni-python-styleguide = ">=0.4.1"
mypy = ">=1.0"
grpc-stubs = "^1.53"
# Uncomment to use prerelease dependencies.
Expand Down
3 changes: 1 addition & 2 deletions examples/nidaqmx_analog_input/teststand_fixture.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"""Functions to set up and tear down sessions of NI-Scope devices in NI TestStand."""
from typing import Any

import ni_measurementlink_service as nims
import nidaqmx
from _helpers import GrpcChannelPoolHelper, PinMapClient, TestStandSupport
from _nidaqmx_helpers import create_task

import ni_measurementlink_service as nims


def update_pin_map(pin_map_path: str, sequence_context: Any) -> str:
"""Update registered pin map contents.
Expand Down
1 change: 0 additions & 1 deletion examples/nidcpower_source_dc_voltage/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import click
import grpc

import ni_measurementlink_service as nims
from ni_measurementlink_service import session_management
from ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1 import (
Expand Down
3 changes: 1 addition & 2 deletions examples/nidcpower_source_dc_voltage/_nidcpower_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@
from typing import Any, Dict, Optional

import grpc
import ni_measurementlink_service as nims
import nidcpower
from _constants import USE_SIMULATION

import ni_measurementlink_service as nims


def create_session(
session_info: nims.session_management.SessionInformation,
Expand Down
3 changes: 1 addition & 2 deletions examples/nidcpower_source_dc_voltage/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import click
import grpc
import hightime
import ni_measurementlink_service as nims
import nidcpower
from _constants import USE_SIMULATION
from _helpers import (
Expand All @@ -24,8 +25,6 @@
)
from _nidcpower_helpers import create_session

import ni_measurementlink_service as nims

NIDCPOWER_WAIT_FOR_EVENT_TIMEOUT_ERROR_CODE = -1074116059
NIDCPOWER_TIMEOUT_EXCEEDED_ERROR_CODE = -1074097933

Expand Down
1 change: 1 addition & 0 deletions examples/nidcpower_source_dc_voltage/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pal
grpcio = "*"

[tool.poetry.group.dev.dependencies]
ni-python-styleguide = ">=0.4.1"
mypy = ">=1.0"
grpc-stubs = "^1.53"
# Uncomment to use prerelease dependencies.
Expand Down
3 changes: 1 addition & 2 deletions examples/nidcpower_source_dc_voltage/teststand_fixture.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"""Functions to set up and tear down sessions of NI-DCPower devices in NI TestStand."""
from typing import Any

import ni_measurementlink_service as nims
import nidcpower
from _helpers import GrpcChannelPoolHelper, PinMapClient, TestStandSupport
from _nidcpower_helpers import create_session

import ni_measurementlink_service as nims


def update_pin_map(pin_map_path: str, sequence_context: Any) -> str:
"""Update registered pin map contents.
Expand Down
1 change: 0 additions & 1 deletion examples/nidigital_spi/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import click
import grpc

import ni_measurementlink_service as nims
from ni_measurementlink_service import session_management
from ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1 import (
Expand Down
3 changes: 1 addition & 2 deletions examples/nidigital_spi/_nidigital_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@
from typing import Any, Dict, Optional

import grpc
import ni_measurementlink_service as nims
import nidigital
from _constants import USE_SIMULATION

import ni_measurementlink_service as nims


def create_session(
session_info: nims.session_management.SessionInformation,
Expand Down
3 changes: 1 addition & 2 deletions examples/nidigital_spi/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from typing import Any, Iterable, Tuple, Union

import click
import ni_measurementlink_service as nims
import nidigital
from _constants import USE_SIMULATION
from _helpers import (
Expand All @@ -20,8 +21,6 @@
)
from _nidigital_helpers import create_session

import ni_measurementlink_service as nims

script_or_exe = sys.executable if getattr(sys, "frozen", False) else __file__
service_directory = pathlib.Path(script_or_exe).resolve().parent
measurement_service = nims.MeasurementService(
Expand Down
1 change: 1 addition & 0 deletions examples/nidigital_spi/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pal
grpcio = "*"

[tool.poetry.group.dev.dependencies]
ni-python-styleguide = ">=0.4.1"
mypy = ">=1.0"
grpc-stubs = "^1.53"
# Uncomment to use prerelease dependencies.
Expand Down
3 changes: 1 addition & 2 deletions examples/nidigital_spi/teststand_fixture.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
"""Functions to set up and tear down sessions of NI Digital Pattern instruments in NI TestStand."""
from typing import Any, Iterable

import ni_measurementlink_service as nims
import nidigital
from _helpers import GrpcChannelPoolHelper, PinMapClient, TestStandSupport
from _nidigital_helpers import create_session

import ni_measurementlink_service as nims
from ni_measurementlink_service.session_management import (
INSTRUMENT_TYPE_NI_DIGITAL_PATTERN,
)
Expand Down
1 change: 0 additions & 1 deletion examples/nidmm_measurement/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import click
import grpc

import ni_measurementlink_service as nims
from ni_measurementlink_service import session_management
from ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1 import (
Expand Down
3 changes: 1 addition & 2 deletions examples/nidmm_measurement/_nidmm_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@
from typing import Any, Dict, Optional

import grpc
import ni_measurementlink_service as nims
import nidmm
from _constants import USE_SIMULATION

import ni_measurementlink_service as nims


def create_session(
session_info: nims.session_management.SessionInformation,
Expand Down
3 changes: 1 addition & 2 deletions examples/nidmm_measurement/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from typing import Any, Tuple

import click
import ni_measurementlink_service as nims
import nidmm
from _constants import USE_SIMULATION
from _helpers import (
Expand All @@ -22,8 +23,6 @@
)
from _nidmm_helpers import create_session

import ni_measurementlink_service as nims

script_or_exe = sys.executable if getattr(sys, "frozen", False) else __file__
service_directory = pathlib.Path(script_or_exe).resolve().parent
measurement_service = nims.MeasurementService(
Expand Down
1 change: 1 addition & 0 deletions examples/nidmm_measurement/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pal
grpcio = "*"

[tool.poetry.group.dev.dependencies]
ni-python-styleguide = ">=0.4.1"
mypy = ">=1.0"
grpc-stubs = "^1.53"
# Uncomment to use prerelease dependencies.
Expand Down
3 changes: 1 addition & 2 deletions examples/nidmm_measurement/teststand_fixture.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"""Functions to set up and tear down sessions of NI-DMM devices in NI TestStand."""
from typing import Any

import ni_measurementlink_service as nims
import nidmm
from _helpers import GrpcChannelPoolHelper, PinMapClient, TestStandSupport
from _nidmm_helpers import create_session

import ni_measurementlink_service as nims


def update_pin_map(pin_map_path: str, sequence_context: Any) -> None:
"""Update registered pin map contents.
Expand Down
1 change: 0 additions & 1 deletion examples/nifgen_standard_function/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import click
import grpc

import ni_measurementlink_service as nims
from ni_measurementlink_service import session_management
from ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1 import (
Expand Down
3 changes: 1 addition & 2 deletions examples/nifgen_standard_function/_nifgen_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@
from typing import Any, Dict, Optional

import grpc
import ni_measurementlink_service as nims
import nifgen
from _constants import USE_SIMULATION

import ni_measurementlink_service as nims


def create_session(
session_info: nims.session_management.SessionInformation,
Expand Down
3 changes: 1 addition & 2 deletions examples/nifgen_standard_function/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import click
import grpc
import hightime
import ni_measurementlink_service as nims
import nifgen
from _constants import USE_SIMULATION
from _helpers import (
Expand All @@ -26,8 +27,6 @@
)
from _nifgen_helpers import create_session

import ni_measurementlink_service as nims

NIFGEN_OPERATION_TIMED_OUT_ERROR_CODE = -1074098044
NIFGEN_MAX_TIME_EXCEEDED_ERROR_CODE = -1074118637

Expand Down
1 change: 1 addition & 0 deletions examples/nifgen_standard_function/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pal
grpcio = "*"

[tool.poetry.group.dev.dependencies]
ni-python-styleguide = ">=0.4.1"
mypy = ">=1.0"
grpc-stubs = "^1.53"
# Uncomment to use prerelease dependencies.
Expand Down
3 changes: 1 addition & 2 deletions examples/nifgen_standard_function/teststand_fixture.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"""Functions to set up and tear down sessions of NI-FGEN devices in NI TestStand."""
from typing import Any

import ni_measurementlink_service as nims
import nifgen
from _helpers import GrpcChannelPoolHelper, PinMapClient, TestStandSupport
from _nifgen_helpers import create_session

import ni_measurementlink_service as nims


def update_pin_map(pin_map_path: str, sequence_context: Any) -> None:
"""Update registered pin map contents.
Expand Down
1 change: 0 additions & 1 deletion examples/niscope_acquire_waveform/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import click
import grpc

import ni_measurementlink_service as nims
from ni_measurementlink_service import session_management
from ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1 import (
Expand Down
3 changes: 1 addition & 2 deletions examples/niscope_acquire_waveform/_niscope_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@
from typing import Any, Dict, Optional

import grpc
import ni_measurementlink_service as nims
import niscope
from _constants import USE_SIMULATION

import ni_measurementlink_service as nims


def create_session(
session_info: nims.session_management.SessionInformation,
Expand Down
3 changes: 1 addition & 2 deletions examples/niscope_acquire_waveform/measurement.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

import click
import grpc
import ni_measurementlink_service as nims
import niscope
from _constants import USE_SIMULATION
from _helpers import (
Expand All @@ -23,8 +24,6 @@
)
from _niscope_helpers import create_session

import ni_measurementlink_service as nims

script_or_exe = sys.executable if getattr(sys, "frozen", False) else __file__
service_directory = pathlib.Path(script_or_exe).resolve().parent
measurement_service = nims.MeasurementService(
Expand Down
1 change: 1 addition & 0 deletions examples/niscope_acquire_waveform/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ click = ">=7.1.2, !=8.1.4" # mypy fails with click 8.1.4: https://github.com/pal
grpcio = "*"

[tool.poetry.group.dev.dependencies]
ni-python-styleguide = ">=0.4.1"
mypy = ">=1.0"
grpc-stubs = "^1.53"
# Uncomment to use prerelease dependencies.
Expand Down
3 changes: 1 addition & 2 deletions examples/niscope_acquire_waveform/teststand_fixture.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
"""Functions to set up and tear down sessions of NI-Scope devices in NI TestStand."""
from typing import Any

import ni_measurementlink_service as nims
import niscope
from _helpers import GrpcChannelPoolHelper, PinMapClient, TestStandSupport
from _niscope_helpers import create_session

import ni_measurementlink_service as nims


def update_pin_map(pin_map_path: str, sequence_context: Any) -> None:
"""Update registered pin map contents.
Expand Down
Loading

0 comments on commit 60ead5b

Please sign in to comment.