Overall Status
--------------
+----------------------+------------------------------------------------------------------------------------------------------------------------------------+
| master branch status | |BuildStatus| |MITLicense| |CoverageStatus| |
+----------------------+------------------------------------------------------------------------------------------------------------------------------------+
| GitHub status | |OpenIssues| |OpenPullRequests| |
+----------------------+------------------------------------------------------------------------------------------------------------------------------------+
=========== ============================================================================================================================
Info Python bindings for NI Modular Instrument drivers. See `GitHub <https://github.com/ni/nimi-python/>`_ for the latest source.
Author NI
=========== ============================================================================================================================
.. |BuildStatus| image:: https://api.travis-ci.com/ni/nimi-python.svg
:alt: Build Status - master branch
:target: https://travis-ci.org/ni/nimi-python
.. |MITLicense| image:: https://img.shields.io/badge/License-MIT-yellow.svg
:alt: MIT License
:target: https://opensource.org/licenses/MIT
.. |CoverageStatus| image:: https://codecov.io/github/ni/nimi-python/graph/badge.svg
:alt: Test Coverage - master branch
:target: https://codecov.io/github/ni/nimi-python
.. |OpenIssues| image:: https://img.shields.io/github/issues/ni/nimi-python.svg
:alt: Open Issues + Pull Requests
:target: https://github.com/ni/nimi-python/issues
.. |OpenPullRequests| image:: https://img.shields.io/github/issues-pr/ni/nimi-python.svg
:alt: Open Pull Requests
:target: https://github.com/ni/nimi-python/pulls
.. _about-section:
About
=====
The **nidigital** module provides a Python API for NI-Digital Pattern Driver. The code is maintained in the Open Source repository for `nimi-python <https://github.com/ni/nimi-python>`_.
Support Policy
--------------
**nidigital** supports all the Operating Systems supported by NI-Digital Pattern Driver.
It follows `Python Software Foundation <https://devguide.python.org/#status-of-python-branches>`_ support policy for different versions of CPython.
NI-Digital Pattern Driver Python API Status
-------------------------------------------
+---------------------------------------+--------------------------+
| NI-Digital Pattern Driver (nidigital) | |
+=======================================+==========================+
| Driver Version Tested Against | 2024 Q2 |
+---------------------------------------+--------------------------+
| PyPI Version | |nidigitalLatestVersion| |
+---------------------------------------+--------------------------+
| Supported Python Version | |nidigitalPythonVersion| |
+---------------------------------------+--------------------------+
| Documentation | |nidigitalDocs| |
+---------------------------------------+--------------------------+
| Open Issues | |nidigitalOpenIssues| |
+---------------------------------------+--------------------------+
| Open Pull Requests | |nidigitalOpenPRs| |
+---------------------------------------+--------------------------+
.. |nidigitalLatestVersion| image:: http://img.shields.io/pypi/v/nidigital.svg
:alt: Latest NI-Digital Pattern Driver Version
:target: http://pypi.python.org/pypi/nidigital
.. |nidigitalPythonVersion| image:: http://img.shields.io/pypi/pyversions/nidigital.svg
:alt: NI-Digital Pattern Driver supported Python versions
:target: http://pypi.python.org/pypi/nidigital
.. |nidigitalDocs| image:: https://readthedocs.org/projects/nidigital/badge/?version=latest
:alt: NI-Digital Pattern Driver Python API Documentation Status
:target: https://nidigital.readthedocs.io/en/latest
.. |nidigitalOpenIssues| image:: https://img.shields.io/github/issues/ni/nimi-python/nidigital.svg
:alt: Open Issues + Pull Requests for NI-Digital Pattern Driver
:target: https://github.com/ni/nimi-python/issues?q=is%3Aopen+is%3Aissue+label%3Anidigital
.. |nidigitalOpenPRs| image:: https://img.shields.io/github/issues-pr/ni/nimi-python/nidigital.svg
:alt: Pull Requests for NI-Digital Pattern Driver
:target: https://github.com/ni/nimi-python/pulls?q=is%3Aopen+is%3Aissue+label%3Anidigital
.. _nidigital_installation-section:
Installation
------------
As a prerequisite to using the **nidigital** module, you must install the NI-Digital Pattern Driver runtime on your system. Visit `ni.com/downloads <http://www.ni.com/downloads/>`_ to download the driver runtime for your devices.
The nimi-python modules (i.e. for **NI-Digital Pattern Driver**) can be installed with `pip <http://pypi.python.org/pypi/pip>`_::
$ python -m pip install nidigital~=1.4.8
Contributing
============
We welcome contributions! You can clone the project repository, build it, and install it by `following these instructions <https://github.com/ni/nimi-python/blob/master/CONTRIBUTING.md>`_.
Usage
------
The following is a basic example of using the **nidigital** module to open a session to a digital pattern instrument,
source current, and measure both voltage and current using the PPMU on selected channels.
.. code-block:: python
import nidigital
import time
with nidigital.Session(resource_name='PXI1Slot2') as session:
channels = 'PXI1Slot2/0,PXI1Slot2/1'
# Configure PPMU measurements
session.channels[channels].ppmu_aperture_time = 0.000004
session.channels[channels].ppmu_aperture_time_units = nidigital.PPMUApertureTimeUnits.SECONDS
session.channels[channels].ppmu_output_function = nidigital.PPMUOutputFunction.CURRENT
session.channels[channels].ppmu_current_level_range = 0.000002
session.channels[channels].ppmu_current_level = 0.000002
session.channels[channels].ppmu_voltage_limit_high = 3.3
session.channels[channels].ppmu_voltage_limit_low = 0
# Sourcing
session.channels[channels].ppmu_source()
# Settling time between sourcing and measuring
time.sleep(0.01)
# Measuring
current_measurements = session.channels[channels].ppmu_measure(nidigital.PPMUMeasurementType.CURRENT)
voltage_measurements = session.channels[channels].ppmu_measure(nidigital.PPMUMeasurementType.VOLTAGE)
print('{:<20} {:<10} {:<10}'.format('Channel Name', 'Current', 'Voltage'))
for channel, current, voltage in zip(channels.split(','), current_measurements, voltage_measurements):
print('{:<20} {:<10f} {:<10f}'.format(channel, current, voltage))
# Disconnect all channels using programmable onboard switching
session.channels[channels].selected_function = nidigital.SelectedFunction.DISCONNECT
`Other usage examples can be found on GitHub. <https://github.com/ni/nimi-python/tree/master/src/nidigital/examples>`_
.. _support-section:
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 <https://forums.ni.com/>`_.
.. _bugs-section:
Bugs / Feature Requests
=======================
To report a bug or submit a feature request specific to Python API, please use the
`GitHub issues page <https://github.com/ni/nimi-python/issues>`_.
Fill in the issue template as completely as possible and we will respond as soon
as we can.
.. _documentation-section:
Documentation
=============
Documentation is available `here <http://nidigital.readthedocs.io>`_.
.. _license-section:
License
=======
**nimi-python** is licensed under an MIT-style license (`see
LICENSE <https://github.com/ni/nimi-python/blob/master/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 <https://github.com/ni/nimi-python/blob/master/NILICENSE>`_).
Raw data
{
"_id": null,
"home_page": "https://github.com/ni/nimi-python",
"name": "nidigital",
"maintainer": "NI",
"docs_url": null,
"requires_python": null,
"maintainer_email": "opensource@ni.com",
"keywords": "nidigital",
"author": "NI",
"author_email": "opensource@ni.com",
"download_url": "https://files.pythonhosted.org/packages/b1/c2/4d3437ab5c7ed16147fd4250080240db66b784ddd9bb90e89fc8affc3814/nidigital-1.4.8.tar.gz",
"platform": null,
"description": "Overall Status\n--------------\n\n+----------------------+------------------------------------------------------------------------------------------------------------------------------------+\n| master branch status | |BuildStatus| |MITLicense| |CoverageStatus| |\n+----------------------+------------------------------------------------------------------------------------------------------------------------------------+\n| GitHub status | |OpenIssues| |OpenPullRequests| |\n+----------------------+------------------------------------------------------------------------------------------------------------------------------------+\n\n=========== ============================================================================================================================\nInfo Python bindings for NI Modular Instrument drivers. See `GitHub <https://github.com/ni/nimi-python/>`_ for the latest source.\nAuthor NI\n=========== ============================================================================================================================\n\n.. |BuildStatus| image:: https://api.travis-ci.com/ni/nimi-python.svg\n :alt: Build Status - master branch\n :target: https://travis-ci.org/ni/nimi-python\n\n.. |MITLicense| image:: https://img.shields.io/badge/License-MIT-yellow.svg\n :alt: MIT License\n :target: https://opensource.org/licenses/MIT\n\n.. |CoverageStatus| image:: https://codecov.io/github/ni/nimi-python/graph/badge.svg\n :alt: Test Coverage - master branch\n :target: https://codecov.io/github/ni/nimi-python\n\n.. |OpenIssues| image:: https://img.shields.io/github/issues/ni/nimi-python.svg\n :alt: Open Issues + Pull Requests\n :target: https://github.com/ni/nimi-python/issues\n\n.. |OpenPullRequests| image:: https://img.shields.io/github/issues-pr/ni/nimi-python.svg\n :alt: Open Pull Requests\n :target: https://github.com/ni/nimi-python/pulls\n\n\n.. _about-section:\n\nAbout\n=====\n\nThe **nidigital** module provides a Python API for NI-Digital Pattern Driver. The code is maintained in the Open Source repository for `nimi-python <https://github.com/ni/nimi-python>`_.\n\nSupport Policy\n--------------\n**nidigital** supports all the Operating Systems supported by NI-Digital Pattern Driver.\n\nIt follows `Python Software Foundation <https://devguide.python.org/#status-of-python-branches>`_ support policy for different versions of CPython.\n\n\nNI-Digital Pattern Driver Python API Status\n-------------------------------------------\n\n+---------------------------------------+--------------------------+\n| NI-Digital Pattern Driver (nidigital) | |\n+=======================================+==========================+\n| Driver Version Tested Against | 2024 Q2 |\n+---------------------------------------+--------------------------+\n| PyPI Version | |nidigitalLatestVersion| |\n+---------------------------------------+--------------------------+\n| Supported Python Version | |nidigitalPythonVersion| |\n+---------------------------------------+--------------------------+\n| Documentation | |nidigitalDocs| |\n+---------------------------------------+--------------------------+\n| Open Issues | |nidigitalOpenIssues| |\n+---------------------------------------+--------------------------+\n| Open Pull Requests | |nidigitalOpenPRs| |\n+---------------------------------------+--------------------------+\n\n\n.. |nidigitalLatestVersion| image:: http://img.shields.io/pypi/v/nidigital.svg\n :alt: Latest NI-Digital Pattern Driver Version\n :target: http://pypi.python.org/pypi/nidigital\n\n\n.. |nidigitalPythonVersion| image:: http://img.shields.io/pypi/pyversions/nidigital.svg\n :alt: NI-Digital Pattern Driver supported Python versions\n :target: http://pypi.python.org/pypi/nidigital\n\n\n.. |nidigitalDocs| image:: https://readthedocs.org/projects/nidigital/badge/?version=latest\n :alt: NI-Digital Pattern Driver Python API Documentation Status\n :target: https://nidigital.readthedocs.io/en/latest\n\n\n.. |nidigitalOpenIssues| image:: https://img.shields.io/github/issues/ni/nimi-python/nidigital.svg\n :alt: Open Issues + Pull Requests for NI-Digital Pattern Driver\n :target: https://github.com/ni/nimi-python/issues?q=is%3Aopen+is%3Aissue+label%3Anidigital\n\n\n.. |nidigitalOpenPRs| image:: https://img.shields.io/github/issues-pr/ni/nimi-python/nidigital.svg\n :alt: Pull Requests for NI-Digital Pattern Driver\n :target: https://github.com/ni/nimi-python/pulls?q=is%3Aopen+is%3Aissue+label%3Anidigital\n\n\n\n.. _nidigital_installation-section:\n\nInstallation\n------------\n\nAs a prerequisite to using the **nidigital** module, you must install the NI-Digital Pattern Driver runtime on your system. Visit `ni.com/downloads <http://www.ni.com/downloads/>`_ to download the driver runtime for your devices.\n\nThe nimi-python modules (i.e. for **NI-Digital Pattern Driver**) can be installed with `pip <http://pypi.python.org/pypi/pip>`_::\n\n $ python -m pip install nidigital~=1.4.8\n\n\nContributing\n============\n\nWe welcome contributions! You can clone the project repository, build it, and install it by `following these instructions <https://github.com/ni/nimi-python/blob/master/CONTRIBUTING.md>`_.\n\nUsage\n------\n\nThe following is a basic example of using the **nidigital** module to open a session to a digital pattern instrument,\nsource current, and measure both voltage and current using the PPMU on selected channels.\n\n.. code-block:: python\n\n import nidigital\n import time\n\n with nidigital.Session(resource_name='PXI1Slot2') as session:\n\n channels = 'PXI1Slot2/0,PXI1Slot2/1'\n\n # Configure PPMU measurements\n session.channels[channels].ppmu_aperture_time = 0.000004\n session.channels[channels].ppmu_aperture_time_units = nidigital.PPMUApertureTimeUnits.SECONDS\n\n session.channels[channels].ppmu_output_function = nidigital.PPMUOutputFunction.CURRENT\n\n session.channels[channels].ppmu_current_level_range = 0.000002\n session.channels[channels].ppmu_current_level = 0.000002\n session.channels[channels].ppmu_voltage_limit_high = 3.3\n session.channels[channels].ppmu_voltage_limit_low = 0\n\n # Sourcing\n session.channels[channels].ppmu_source()\n\n # Settling time between sourcing and measuring\n time.sleep(0.01)\n\n # Measuring\n current_measurements = session.channels[channels].ppmu_measure(nidigital.PPMUMeasurementType.CURRENT)\n voltage_measurements = session.channels[channels].ppmu_measure(nidigital.PPMUMeasurementType.VOLTAGE)\n\n print('{:<20} {:<10} {:<10}'.format('Channel Name', 'Current', 'Voltage'))\n for channel, current, voltage in zip(channels.split(','), current_measurements, voltage_measurements):\n print('{:<20} {:<10f} {:<10f}'.format(channel, current, voltage))\n\n # Disconnect all channels using programmable onboard switching\n session.channels[channels].selected_function = nidigital.SelectedFunction.DISCONNECT\n\n`Other usage examples can be found on GitHub. <https://github.com/ni/nimi-python/tree/master/src/nidigital/examples>`_\n\n.. _support-section:\n\nSupport / Feedback\n==================\n\nFor support specific to the Python API, follow the processs in `Bugs / Feature Requests`_.\nFor support with hardware, the driver runtime or any other questions not specific to the Python API, please visit `NI Community Forums <https://forums.ni.com/>`_.\n\n.. _bugs-section:\n\nBugs / Feature Requests\n=======================\n\nTo report a bug or submit a feature request specific to Python API, please use the\n`GitHub issues page <https://github.com/ni/nimi-python/issues>`_.\n\nFill in the issue template as completely as possible and we will respond as soon\nas we can.\n\n\n.. _documentation-section:\n\nDocumentation\n=============\n\nDocumentation is available `here <http://nidigital.readthedocs.io>`_.\n\n\n.. _license-section:\n\nLicense\n=======\n\n**nimi-python** is licensed under an MIT-style license (`see\nLICENSE <https://github.com/ni/nimi-python/blob/master/LICENSE>`_).\nOther incorporated projects may be licensed under different licenses. All\nlicenses allow for non-commercial and commercial use.\n\n\n**gRPC Features**\n\nFor driver APIs that support it, passing a GrpcSessionOptions instance as a parameter to Session.__init__() is\nsubject to the NI General Purpose EULA (`see NILICENSE <https://github.com/ni/nimi-python/blob/master/NILICENSE>`_).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "NI-Digital Pattern Driver Python API",
"version": "1.4.8",
"project_urls": {
"Homepage": "https://github.com/ni/nimi-python"
},
"split_keywords": [
"nidigital"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cf1a47faff8abe612b26a43cc9294619ca21830d3df83cc4aaee14480aa89e94",
"md5": "fc95605a0803b8accdbdaf0bba7c112b",
"sha256": "21ee2588e0908e4b96b572b77e7212b0425922e4487175f1af4eaf7f5c96c87b"
},
"downloads": -1,
"filename": "nidigital-1.4.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fc95605a0803b8accdbdaf0bba7c112b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 99469,
"upload_time": "2024-04-26T20:12:02",
"upload_time_iso_8601": "2024-04-26T20:12:02.679005Z",
"url": "https://files.pythonhosted.org/packages/cf/1a/47faff8abe612b26a43cc9294619ca21830d3df83cc4aaee14480aa89e94/nidigital-1.4.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b1c24d3437ab5c7ed16147fd4250080240db66b784ddd9bb90e89fc8affc3814",
"md5": "60f755361f6b9a2890a83ef4e5a29b6c",
"sha256": "479b489540e8473db0b90977d0a764c7bf0ededfc94e1677217d04d4e12f51c8"
},
"downloads": -1,
"filename": "nidigital-1.4.8.tar.gz",
"has_sig": false,
"md5_digest": "60f755361f6b9a2890a83ef4e5a29b6c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 97435,
"upload_time": "2024-04-26T20:12:21",
"upload_time_iso_8601": "2024-04-26T20:12:21.576964Z",
"url": "https://files.pythonhosted.org/packages/b1/c2/4d3437ab5c7ed16147fd4250080240db66b784ddd9bb90e89fc8affc3814/nidigital-1.4.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-26 20:12:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ni",
"github_project": "nimi-python",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "nidigital"
}