Skip to content
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

Automate Driver Install Experience within nidaqmx Module #512

Merged

Conversation

dharaniprakashkm
Copy link
Contributor

@dharaniprakashkm dharaniprakashkm commented Feb 21, 2024

What does this Pull Request accomplish?

  1. Provides a command line python interface to install NI-DAQmx Software for Windows Platform.
  2. Checks for existing installation of DAQmx by checking the registry entry, If DAQmx Software is not installed then it will download the latest installer from ni.com and will launch the installer in an interactive mode.
  3. If DAQmx Software is already installed then it will compare the installed version with latest available version on the server and prompts for user confirmation on whether they want to upgrade to the latest version or not.

Why should this Pull Request be merged?

We need to install the NI-DAQmx Driver to have Python library functional.
This script will improve the driver install experience for Windows Users.

What testing has been done?

Verified the script works fine on both Windows 11 and Windows Server 2016 OS.

  1. Clean Machine
  2. Lower version of NI-DAQmx driver is preinstalled
  3. Latest version of NI-DAQmx driver is preinstalled
  4. Higher version (Dev builds for NI internal users) of NI-DAQmx driver is preinstalled

Verified script handles/returns proper error info in the following cases.

  1. Broken download link
  2. Incorrect version.
  3. Running script without admin privileges

pyproject.toml Outdated Show resolved Hide resolved
installDAQmx.py Outdated Show resolved Hide resolved
generated/nidaqmx/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
generated/nidaqmx/_install_daqmx.py Show resolved Hide resolved
generated/nidaqmx/_install_daqmx.py Outdated Show resolved Hide resolved
@zhindes
Copy link
Collaborator

zhindes commented Feb 22, 2024

FYI @dharaniprakashkm - I get a lot of review requests, so until this is marked "Ready for Review", I don't intend to look at it. That doesn't mean you should just smash that button, peer review and iteration is great! Also, definitely feel free to ping me on a specific issue if you like!

@dharaniprakashkm dharaniprakashkm marked this pull request as ready for review February 27, 2024 08:52
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
Copy link
Collaborator

@zhindes zhindes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really great start. Sorry I missed the demo :(

src/handwritten/_install_daqmx.py Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/metadata.json Outdated Show resolved Hide resolved
Copy link
Collaborator

@bkeryan bkeryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't get to the code yet. I'll post another review when I do.

src/handwritten/__main__.py Show resolved Hide resolved
.github/workflows/run_system_tests.yml Outdated Show resolved Hide resolved
pyproject.toml Outdated Show resolved Hide resolved
src/handwritten/__main__.py Show resolved Hide resolved
src/handwritten/metadata.json Outdated Show resolved Hide resolved
src/handwritten/metadata.json Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Show resolved Hide resolved
src/handwritten/_install_daqmx.py Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/__main__.py Show resolved Hide resolved
src/handwritten/__main__.py Show resolved Hide resolved
generated/nidaqmx/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
generated/nidaqmx/_install_daqmx.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Outdated Show resolved Hide resolved
generated/nidaqmx/_install_daqmx.py Outdated Show resolved Hide resolved
generated/nidaqmx/__main__.py Outdated Show resolved Hide resolved
generated/nidaqmx/_installer_metadata.json Show resolved Hide resolved
src/handwritten/__main__.py Outdated Show resolved Hide resolved
src/handwritten/_install_daqmx.py Show resolved Hide resolved
src/handwritten/_installer_metadata.json Show resolved Hide resolved
@maxxboehme maxxboehme merged commit 5a8c6a5 into ni:master Apr 4, 2024
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants