|
5 | 5 | **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. |
6 | 6 |
|
7 | 7 | ### Key Repository Information |
8 | | -- **Language**: Python (3.9+) |
| 8 | +- **Language**: Python (3.10+) |
9 | 9 | - **Package Manager**: Poetry 2.1+ |
10 | 10 | - **Framework**: Uses Streamlit for panel UI, gRPC for communication |
11 | 11 | - **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 |
64 | 64 | ``` |
65 | 65 |
|
66 | 66 | ### Runtime Requirements |
67 | | -- **Python**: 3.9+ (excludes 3.9.7 due to Streamlit incompatibility) |
| 67 | +- **Python**: 3.10+ |
68 | 68 | - **Poetry**: 2.1+ required for build system |
69 | 69 | - **Virtual Environment**: Configured in-project (`.venv/` directory) |
70 | 70 |
|
@@ -114,12 +114,12 @@ examples/ |
114 | 114 |
|
115 | 115 | The repository uses a comprehensive GitHub Actions pipeline: |
116 | 116 |
|
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 |
118 | 118 | - Linting with `poetry run nps lint` |
119 | 119 | - Type checking with `poetry run mypy` |
120 | 120 | - Security scanning with `poetry run bandit -c pyproject.toml -r src/nipanel` |
121 | 121 |
|
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 |
123 | 123 | - Unit tests: `poetry run pytest ./tests/unit -v --cov=nipanel --junitxml=test_results/nipanel-{os}-py{version}.xml` |
124 | 124 |
|
125 | 125 | 3. **check_docs.yml**: Documentation validation |
@@ -163,7 +163,6 @@ poetry run pytest -v |
163 | 163 | 1. **Poetry Lock Issues**: Run `poetry check --lock` to verify lock file consistency |
164 | 164 | 2. **Import Warnings**: flake8_import_order pkg_resources warnings are expected and harmless |
165 | 165 | 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 |
167 | 166 |
|
168 | 167 | ### File System Requirements |
169 | 168 | - Virtual environment created in `.venv/` (configured in poetry.toml) |
|
0 commit comments