Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!


Project Description

Overall Status

master branch status
GitHub status
Info Python bindings for NI Modular Instrument drivers. See GitHub for the latest source.
Author National Instruments


The nimi-python repository generates Python bindings (Application Programming Interface) for interacting with the Modular Instrument drivers. Currently, the following drivers are supported:

  • NI-DCPower (Python module: nidcpower)
  • NI-DMM (Python module: nidmm)
  • NI-FGEN (Python module: nifgen)
  • NI-SCOPE (Python module: niscope)
  • NI-SWITCH (Python module: niswitch)
  • NI-ModInst (Python module: nimodinst)

It is implemented as a set of Mako templates and per-driver metafiles that produce a Python module for each driver. The driver is called through its public C API using the ctypes Python library.

nimi-python supports all the Operating Systems supported by the underlying driver.

nimi-python supports Python 2.7, 3.4 and later using CPython or PyPy.

NI-SCOPE Python API Status

NI-SCOPE (niscope)  
Driver Version Tested Against 17.0.2
PyPI Version
Supported Python Version
Open Issues
Open Pull Requests


As a prerequisite to using the niscope module, you must install the NI-SCOPE runtime on your system. Visit to download the driver runtime for your devices.

The nimi-python modules (i.e. for NI-SCOPE) can be installed with pip:

$ python -m pip install niscope

Or easy_install from setuptools:

$ python -m easy_install niscope


We welcome contributions! You can clone the project repository, build it, and install it by following these instructions.


The following is a basic example of using the niscope module to open a session to a High Speed Digitizer and capture a single record of 1000 points.

import niscope
with niscope.Session("Dev1") as session:
    session.configure_vertical(range=1.0, coupling=niscope.VerticalCoupling.AC)
    session.configure_horizontal_timing(min_sample_rate=50000000, min_num_pts=1000, ref_position=50.0, num_records=1, enforce_realtime=True)
    with session.initiate():
        wfm, wfm_infos = session[args.channels].fetch(num_samples=args.length)
    print('Number of samples acquired: {:,}\n'.format(len(wfm)))

Additional examples for NI-SCOPE are located in src/niscope/examples/ directory.

Support / Feedback

The packages included in nimi-python package are supported by NI. For support, open a request through the NI support portal at

Bugs / Feature Requests

To report a bug or submit a feature request, please use the GitHub issues page.

Information to Include When Asking for Help

Please include all of the following information when opening an issue:

  • Detailed steps on how to reproduce the problem and full traceback, if applicable. Code samples are encouraged!

  • The python version used:

    $ python -c "import sys; print(sys.version)"
  • The module (i.e. nidmm) and its version:

    $ python -m pip list
  • The version of the driver used (i.e. NI-DMM 17.1). Follow this KB article to determine the version you have installed.

  • The operating system, version, and bitness. For example 64-bit Windows 7.


Documentation is available here.


nimi-python is licensed under an MIT-style license (see LICENSE). Other incorporated projects may be licensed under different licenses. All licenses allow for non-commercial and commercial use.

Release History

History Node


This version
History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(57.8 kB) Copy SHA256 Hash SHA256
Wheel py2.py3 Feb 20, 2018
(52.3 kB) Copy SHA256 Hash SHA256
Source None Feb 20, 2018

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Google Google Cloud Servers Fastly Fastly CDN StatusPage StatusPage Statuspage DigiCert DigiCert EV Certificate