-
Notifications
You must be signed in to change notification settings - Fork 17
Add stubs for python package as well as pipelines for testing #35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…amples into adamarnesen/add-demo-python-package
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR establishes the foundational Python package structure for nisystemlink-examples with comprehensive testing and quality assurance infrastructure. It introduces a basic Simulator class as a starting point and sets up automated CI/CD pipelines.
Key Changes
- Created Python package structure with
nisystemlink_demomodule containing test data utilities - Configured development tooling: pytest for testing, black for formatting, flake8 for linting, mypy for type checking
- Added GitHub Actions workflow for automated testing across Python 3.9-3.13
- Updated CONTRIBUTING.md with detailed development workflow and Poetry usage instructions
Reviewed changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
pyproject.toml |
Project configuration with dependencies and Poetry/Poe task definitions |
poetry.lock |
Locked dependency versions (auto-generated) |
nisystemlink_demo/__init__.py |
Package entry point with version and exports |
nisystemlink_demo/testdata/__init__.py |
Test data module initialization |
nisystemlink_demo/testdata/simulator.py |
Stub Simulator class implementation |
tests/__init__.py |
Test package initialization |
tests/testdata/__init__.py |
Test subpackage initialization |
tests/testdata/test_simulator.py |
Unit test for Simulator class |
.github/workflows/python-package.yml |
CI/CD pipeline configuration |
.flake8 |
Flake8 linting configuration |
CONTRIBUTING.md |
Enhanced contribution guidelines with development setup |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
remove python 3.9 Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
add `pass` to init Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
add type annotation Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…com/ni/systemlink-enterprise-examples into adamarnesen/add-demo-python-package
Justification
This is the first step to creating a python package to contain details of examples that we don't want to include directly in notebooks. This change introduces the python package structure (directories), tests, and some poetry tasks that are used in GitHub actions for automatically testing on PR and submission
Implementation
pyproject.toml)2. Most of the poetry and pipeline information was reused from https://github.com/ni/nisystemlink-clients-python
poetasks forpython-packageworkflow for GitHub to run tests on PR and submissionsTesting
Added new python tests. These are mostly stubs but establish the tooling
Checklist