Skip to content
Merged
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
9 changes: 4 additions & 5 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
**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.

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

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

Expand Down Expand Up @@ -114,12 +114,12 @@ examples/

The repository uses a comprehensive GitHub Actions pipeline:

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

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

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

### File System Requirements
- Virtual environment created in `.venv/` (configured in poetry.toml)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/check_nipanel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
python-version: [3.9, 3.13]
python-version: ["3.10", 3.13]
runs-on: ${{ matrix.os }}
steps:
- name: Check out repo
Expand All @@ -27,4 +27,4 @@ jobs:
with:
install-args: "--with examples"
- name: Bandit security checks
run: poetry run bandit -c pyproject.toml -r src/nipanel
run: poetry run bandit -c pyproject.toml -r src/nipanel
2 changes: 1 addition & 1 deletion .github/workflows/run_unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
python-version: [3.9, '3.10', 3.11, 3.12, 3.13]
python-version: ["3.10", 3.11, 3.12, 3.13]
# Fail-fast skews the pass/fail ratio and seems to make pytest produce
# incomplete JUnit XML results.
fail-fast: false
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
- [About](#about)
- [Operating System Support](#operating-system-support)
- [Python Version Support](#python-version-support)
- [Installation](#installation)

# About

Expand All @@ -17,7 +18,7 @@ NI created and supports this package.

## Python Version Support

`nipanel` supports CPython 3.9+.
`nipanel` supports CPython 3.10+.

## Installation

Expand Down
2 changes: 1 addition & 1 deletion examples/all_types/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This is an example for `nipanel` that demonstrates all supported data types.

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
2 changes: 1 addition & 1 deletion examples/hello/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This is a simple `nipanel` example that displays a Streamlit app.

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Script demonstrates analog input data getting continuously acquired, and being f

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
2 changes: 1 addition & 1 deletion examples/nidaqmx/nidaqmx_analog_output_voltage/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This is a nipanel example that displays an interactive Streamlit app and updates

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This is a nipanel example that displays an interactive Streamlit app and updates

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
2 changes: 1 addition & 1 deletion examples/niscope/nicope_ex_fetch_forever/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Script demonstrates NIScope waveform data getting continuously acquired.

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
2 changes: 1 addition & 1 deletion examples/niscope/niscope_binary_acquisition/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Script demonstrates waveform data getting continuously acquired and being conver

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Script demonstrates how to configure vertical, horizontal, and triggering proper

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
2 changes: 1 addition & 1 deletion examples/performance_checker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This example measures the performance of a streamlit panel with a graph.

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
2 changes: 1 addition & 1 deletion examples/simple_graph/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This example demonstrates using `nipanel` with Streamlit to display a dynamic si

### Required Software

- Python 3.9 or later
- Python 3.10 or later

### Usage

Expand Down
Loading