Skip to content

Commit 491ca39

Browse files
author
Mike Prosser
committed
Merge remote-tracking branch 'origin/main' into users/mprosser/fix-example-commands
2 parents 2937032 + 13effeb commit 491ca39

File tree

19 files changed

+1117
-1259
lines changed

19 files changed

+1117
-1259
lines changed

.github/copilot-instructions.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
**nipanel** is a Python package that provides support for creating and controlling measurement and visualization panels. It's developed by NI and enables Python applications to create Streamlit-based panels that can be served and controlled via gRPC services.
66

77
### Key Repository Information
8-
- **Language**: Python (3.9+)
8+
- **Language**: Python (3.10+)
99
- **Package Manager**: Poetry 2.1+
1010
- **Framework**: Uses Streamlit for panel UI, gRPC for communication
1111
- **Size**: Medium-sized repository (~1300 lines of code in src/)
@@ -64,7 +64,7 @@ poetry run sphinx-build docs docs/_build --builder html --fail-on-warning
6464
```
6565

6666
### Runtime Requirements
67-
- **Python**: 3.9+ (excludes 3.9.7 due to Streamlit incompatibility)
67+
- **Python**: 3.10+
6868
- **Poetry**: 2.1+ required for build system
6969
- **Virtual Environment**: Configured in-project (`.venv/` directory)
7070

@@ -114,12 +114,12 @@ examples/
114114

115115
The repository uses a comprehensive GitHub Actions pipeline:
116116

117-
1. **check_nipanel.yml**: Runs on Windows, Ubuntu, macOS with Python 3.9, 3.13
117+
1. **check_nipanel.yml**: Runs on Windows, Ubuntu, macOS with Python 3.10, 3.13
118118
- Linting with `poetry run nps lint`
119119
- Type checking with `poetry run mypy`
120120
- Security scanning with `poetry run bandit -c pyproject.toml -r src/nipanel`
121121

122-
2. **run_unit_tests.yml**: Cross-platform testing (Windows, Ubuntu) with Python 3.9-3.13
122+
2. **run_unit_tests.yml**: Cross-platform testing (Windows, Ubuntu) with Python 3.10-3.13
123123
- Unit tests: `poetry run pytest ./tests/unit -v --cov=nipanel --junitxml=test_results/nipanel-{os}-py{version}.xml`
124124

125125
3. **check_docs.yml**: Documentation validation
@@ -163,7 +163,6 @@ poetry run pytest -v
163163
1. **Poetry Lock Issues**: Run `poetry check --lock` to verify lock file consistency
164164
2. **Import Warnings**: flake8_import_order pkg_resources warnings are expected and harmless
165165
3. **Documentation SSL Errors**: External inventory fetch failures are known issues
166-
4. **Python 3.9.7**: Excluded due to Streamlit incompatibility - use different Python 3.9.x version
167166

168167
### File System Requirements
169168
- Virtual environment created in `.venv/` (configured in poetry.toml)

.github/workflows/check_docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
- name: Generate docs
2929
run: poetry run sphinx-build docs docs/_build -b html -W
3030
- name: Upload docs artifact
31-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
31+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
3232
with:
3333
name: nipanel-docs
3434
path: docs/_build/

.github/workflows/check_nipanel.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
strategy:
1111
matrix:
1212
os: [windows-latest, ubuntu-latest, macos-latest]
13-
python-version: [3.9, 3.13]
13+
python-version: ["3.10", 3.13]
1414
runs-on: ${{ matrix.os }}
1515
steps:
1616
- name: Check out repo
@@ -27,4 +27,4 @@ jobs:
2727
with:
2828
install-args: "--with examples"
2929
- name: Bandit security checks
30-
run: poetry run bandit -c pyproject.toml -r src/nipanel
30+
run: poetry run bandit -c pyproject.toml -r src/nipanel

.github/workflows/publish.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ jobs:
5454
- name: Build distribution packages
5555
run: poetry build
5656
- name: Upload build artifacts
57-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
57+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
5858
with:
5959
name: ${{ env.dist-artifact-name }}
6060
path: dist/*
@@ -71,7 +71,7 @@ jobs:
7171
id-token: write
7272
steps:
7373
- name: Download build artifacts
74-
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
74+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
7575
with:
7676
name: ${{ env.dist-artifact-name }}
7777
path: dist/

.github/workflows/report_test_results.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Check out repo
1717
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
1818
- name: Download test results
19-
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
19+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
2020
with:
2121
path: test_results
2222
pattern: test_results_*

.github/workflows/run_unit_tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
strategy:
1212
matrix:
1313
os: [windows-latest, ubuntu-latest]
14-
python-version: [3.9, '3.10', 3.11, 3.12, 3.13]
14+
python-version: ["3.10", 3.11, 3.12, 3.13]
1515
# Fail-fast skews the pass/fail ratio and seems to make pytest produce
1616
# incomplete JUnit XML results.
1717
fail-fast: false
@@ -35,7 +35,7 @@ jobs:
3535
- name: Run unit tests and code coverage
3636
run: poetry run pytest ./tests/unit -v --cov=nipanel --junitxml=test_results/nipanel-${{ matrix.os }}-py${{ matrix.python-version }}.xml
3737
- name: Upload test results
38-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
38+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
3939
with:
4040
name: test_results_unit_${{ matrix.os }}_py${{ matrix.python-version }}
4141
path: ./test_results/*.xml

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
- [About](#about)
55
- [Operating System Support](#operating-system-support)
66
- [Python Version Support](#python-version-support)
7+
- [Installation](#installation)
78

89
# About
910

@@ -17,4 +18,13 @@ NI created and supports this package.
1718

1819
## Python Version Support
1920

20-
`nipanel` supports CPython 3.9+.
21+
`nipanel` supports CPython 3.10+.
22+
23+
## Installation
24+
25+
As a prerequisite to using the `nipanel` module, you must install InstrumentStudio 2026 Q1
26+
or later on your system. You can download and install this software using
27+
[NI Package Manager](https://www.ni.com/en/support/downloads/software-products/download.package-manager.html).
28+
29+
You can directly install the `nipanel` package using `pip` or by listing it as a
30+
dependency in your project's `pyproject.toml` file.

examples/all_types/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This is an example for `nipanel` that demonstrates all supported data types.
88

99
### Required Software
1010

11-
- Python 3.9 or later
11+
- Python 3.10 or later
1212

1313
### Usage
1414

examples/hello/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This is a simple `nipanel` example that displays a Streamlit app.
88

99
### Required Software
1010

11-
- Python 3.9 or later
11+
- Python 3.10 or later
1212

1313
### Usage
1414

examples/nidaqmx/nidaqmx_analog_input_filtering/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Script demonstrates analog input data getting continuously acquired, and being f
1212

1313
### Required Software
1414

15-
- Python 3.9 or later
15+
- Python 3.10 or later
1616

1717
### Usage
1818

0 commit comments

Comments
 (0)