Skip to main content
Help us improve Python packaging – donate today!

MCC Universal Library Python API for Windows

Project Description

Info Contains a Python API for interacting with Measurement Computing’s Universal Library. See GitHub for the latest source.
Author Measurement Computing


The mcculw package contains an API (Application Programming Interface) for interacting with the I/O Library for Measurement Computing Data Acquisition products, Universal Library. This package was created and is supported by MCC. The package is implemented in Python as a wrapper around the Universal Library C API using the ctypes Python Library.

mcculw is supported for Universal Library 6.55 and later. Some functions in the mcculw package may be unavailable with earlier versions of Universal Library. Visit to upgrade your version of UL.

mcculw supports only the Windows operating system.

mcculw supports CPython 2.7 and 3.4+.


Running mcculw requires InstaCal. Visit to download the latest version of InstaCal.

mcculw can be installed with pip:

$ python pip install mcculw


Download the examples from the mcculw GitHub

Unzip the examples to a known location, such as:

C:\Users\Public\Documents\Measurement Computing\DAQ\Python

Refer to the Universal Library Help for detailed instructions on how to import examples into the Eclipse IDE or Visual Studio.


The following is a basic example of using the Universal Library to perform analog input. Further examples may be found on GitHub.

from mcculw import ul
from mcculw.enums import ULRange
from mcculw.ul import ULError

board_num = 0
channel = 0
ai_range = ULRange.BIP5VOLTS

    # Get a value from the device
    value = ul.a_in(board_num, channel, ai_range)
    # Convert the raw value to engineering units
    eng_units_value = ul.to_eng_units(board_num, ai_range, value)

    # Display the raw value
    print("Raw Value: " + str(value))
    # Display the engineering value
    print("Engineering Value: " + '{:.3f}'.format(eng_units_value))
except ULError as e:
    # Display the error
    print("A UL error occurred. Code: " + str(e.errorcode)
          + " Message: " + e.message)


The mcculw package is supported by MCC. For support for mcculw, contact technical support through Please include version information for Python, Universal Library and the mcculw packages used as well as detailed steps on how to reproduce the problem in your request.

Bugs/Feature Requests

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


Documentation is available in the Universal Library Help.


mcculw is licensed under an MIT-style license. Other incorporated projects may be licensed under different licenses. All licenses allow for non-commercial and commercial use.

Release history Release notifications

History Node


History Node


History Node


History Node


History Node


History Node


This version
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
mcculw-0.9.0-py2-none-any.whl (79.0 kB) Copy SHA256 hash SHA256 Wheel py2 Jul 17, 2017
mcculw-0.9.0.tar.gz (76.6 kB) Copy SHA256 hash SHA256 Source None Jul 17, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page