Skip to main content

Overall Status

master branch status

Build Status - master branch Documentation Status - master branch MIT License Test Coverage - master branch

GitHub status

Open Issues + Pull Requests Open Pull Requests

Info

Python bindings for NI Modular Instrument drivers. See GitHub for the latest source.

Author

NI

About

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

  • NI-DCPower (Python module: nidcpower)

  • NI-Digital Pattern Driver (Python module: nidigital)

  • NI-DMM (Python module: nidmm)

  • NI-FGEN (Python module: nifgen)

  • NI-ModInst (Python module: nimodinst)

  • NI-SCOPE (Python module: niscope)

  • NI Switch Executive (Python module: nise)

  • NI-SWITCH (Python module: niswitch)

  • NI-TClk (Python module: nitclk)

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 follows Python Software Foundation support policy for different versions. At this time this includes Python 3.7 and above using CPython.

NI-ModInst Python API Status

NI-ModInst (nimodinst)

Driver Version Tested Against

2022 Q4

PyPI Version

Latest NI-ModInst Version

Supported Python Version

NI-ModInst supported Python versions

Open Issues

Open Issues + Pull Requests for NI-ModInst

Open Pull Requests

Pull Requests for NI-ModInst

Installation

As a prerequisite to using the nimodinst module, you must install the NI-ModInst runtime on your system. Visit ni.com/downloads to download the driver runtime for your devices.

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

$ python -m pip install nimodinst~=1.4.3

Or easy_install from setuptools:

$ python -m easy_install nimodinst

Contributing

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

Usage

The following is a basic example of using the nimodinst module to retrieve information on all High Speed Digitizers currently in the system.

import nimodinst
with nimodinst.Session("niscope") as session:
    for device in session:
        print("{: >20} {: >15} {: >10}".format(device.device_name, device.device_model, device.serial_number))

Other usage examples can be found on GitHub.

Support / Feedback

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

Bugs / Feature Requests

To report a bug or submit a feature request specific to NI Modular Instruments Python bindings (nimi-python), please use the GitHub issues page.

Fill in the issue template as completely as possible and we will respond as soon as we can.

For hardware support or any other questions not specific to this GitHub project, please visit NI Community Forums.

Documentation

Documentation is available here.

License

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.

gRPC Features For driver APIs that support it, passing a GrpcSessionOptions instance as a parameter to Session.__init__() is subject to the NI General Purpose EULA (see NILICENSE).

Metadata

Release files for nimodinst 1.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nimodinst 1.4.3
File Size Uploaded
nimodinst-1.4.3.tar.gz 18.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nimodinst 1.4.3
File Interpreter ABI Platform
nimodinst-1.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 35.9 kB

Release files / nimodinst-1.4.3.tar.gz

Download URL nimodinst-1.4.3.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3bff43a4614c8532c1949a808eb72125cf1f2e6e9bbe2c54b0f8d4753786ccf4
BLAKE2b-256 checksum
How to use checksums
f34326617bb9ad6135726837c0097aa859474accb34b659ebf1bc53585e87ffe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / nimodinst-1.4.3-py3-none-any.whl

Download URL nimodinst-1.4.3-py3-none-any.whl
Size 17.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
975ec1d6e64aefc5087d689271e3d4b7b608e1c453ae5134e72e117f788950a5
BLAKE2b-256 checksum
How to use checksums
68de916ebf99107a69c004ee14f53c9cfc90025b030464e31f488b9d33ebdabe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release history Release notifications | RSS feed

1.5.0

2 release files

1.4.9

2 release files

1.4.8

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

This release

1.4.3 This release

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

1 release file

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page