Skip to content

Latest commit

 

History

History
172 lines (113 loc) · 6.85 KB

README.rst

File metadata and controls

172 lines (113 loc) · 6.85 KB

Overall Status

master branch status Build 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 nifgen module provides a Python API for NI-FGEN. The code is maintained in the Open Source repository for nimi-python.

Support Policy

nifgen supports all the Operating Systems supported by NI-FGEN.

It follows Python Software Foundation support policy for different versions of CPython.

NI-FGEN Python API Status

NI-FGEN (nifgen)  
Driver Version Tested Against 2023 Q4
PyPI Version Latest NI-FGEN Version
Supported Python Version NI-FGEN supported Python versions
Documentation NI-FGEN Python API Documentation Status
Open Issues Open Issues + Pull Requests for NI-FGEN
Open Pull Requests Pull Requests for NI-FGEN

Installation

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

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

$ python -m pip install nifgen

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 nifgen module to open a session to a Function Generator and generate a sine wave for 5 seconds.

import nifgen
import time
with nifgen.Session("Dev1") as session:
    session.output_mode = nifgen.OutputMode.FUNC
    session.configure_standard_waveform(waveform=nifgen.Waveform.SINE, amplitude=1.0, frequency=10000000, dc_offset=0.0, start_phase=0.0)
    with session.initiate():
        time.sleep(5)

Other usage examples can be found on GitHub.

Support / Feedback

For support specific to the Python API, follow the processs in Bugs / Feature Requests. For support with hardware, the driver runtime or any other questions not specific to the Python API, please visit NI Community Forums.

Bugs / Feature Requests

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

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

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).