Schwartz 1.6 Download

Patrizia Schwartz. Trixi's Digi-Scraps. Auckland, New Zealand. Follow Following Unfollow. Careers at Behance Adobe Portfolio Blog Powered By Behance Creative Career Tips Download the App. Patrizia Schwartz. Patrizia Schwartz. Patrizia Schwartz.

Latest version

Released:

Python VISA bindings for GPIB, RS232, TCPIP and USB instruments

Project description

PyVISA

A Python package for support of the “Virtual Instrument SoftwareArchitecture” (VISA), in order to control measurement devices andtest equipment via GPIB, RS232, Ethernet or USB.

Description

The programming of measurement instruments can be real pain. There are manydifferent protocols, sent over many different interfaces and bus systems(GPIB, RS232, USB). For every programming language you want to use, you have tofind libraries that support both your device and its bus system.

In order to ease this unfortunate situation, the Virtual Instrument SoftwareArchitecture (VISA) specification was defined in the middle of the 90’. TodayVISA is implemented on all significant operating systems. A couple of vendorsoffer VISA libraries, partly with free download. These libraries work togetherwith arbitrary peripheral devices, although they may be limited to certaininterface devices, such as the vendor’s GPIB card.

The VISA specification has explicit bindings to Visual Basic, C, and G(LabVIEW’s graphical language). Python can be used to call functions from aVISA shared library (.dll, .so, .dylib) allowing to directly leverage thestandard implementations. In addition, Python can be used to directly accessmost bus systems used by instruments which is why one can envision to implementthe VISA standard directly in Python (see the PyVISA-Py project for moredetails). PyVISA is both a Python wrapper for VISA shared libraries butcan also serve as a front-end for other VISA implementation such asPyVISA-Py.

VISA and Python

Python has a couple of features that make it very interesting for measurementcontrolling:

  • Python is an easy-to-learn scripting language with short development cycles.
  • It represents a high abstraction level [2], which perfectly blends with theabstraction level of measurement programs.
  • It has a very rich set of native libraries, including numerical and plottingmodules for data analysis and visualisation.
  • A large set of books (in many languages) and on-line publications isavailable.

Requirements

  • Python (tested with 2.7 and 3.4+)
  • VISA (tested with NI-VISA 17.5, Win7, from www.ni.com/visa)

Python 2 support

Python 2 EOL is now near (January 1st 2020), and given the limited timemaintainers have, the next release of PyVISA (1.10) to be released around July2019 will be the last version of PyVISA supporting Python 2.

Installation

Using pip:

$ pip install pyvisa

or easy_install:

$ easy_install pyvisa

or download and unzip the source distribution file and:

$ python setup.py install

Documentation

The documentation can be read online at https://pyvisa.readthedocs.org Wondershare safeeraser 3.8.1 download pc.

PyVISA was originally programmed by Torsten Bronger and Gregor Thalhammer, Innsbruck, Austria. It is based on earlier experiences by Thalhammer.

It was maintained from March 2012 to August 2013 by Florian Bauer.It is currently maintained by Hernan E. Grecco <hernan.grecco@gmail.com>.

Other contributors, listed alphabetically, are:

  • bauflo3 <bauflo3@516c0664-e049-0410-bc6e-8f9a6051a51d>
  • bkstein <Bernd.Krietenstein@rohde-schwarz.com>
  • bronger>
  • Christian Lupien <christian.lupien@usherbrooke.ca>
  • Colin Marquardt <github@marquardt-home.de>
  • crazyfermions <brain-stormer@web.de>
  • gnbl <l@eleif.net>
  • Gregor Thalhammer <gregor.thalhammer@gmail.com>
  • HummingBrid
  • kcsaff
  • Neil J. Jansen <km4yri@gmail.com>
  • Laurent P. René de Cotret <laurent.decotret@outlook.com>
  • Martin Ritter <ritter@mpp.mpg.de>
  • Matthew94 <matthewlove94@gmail.com>
  • Matthieu Dartiailh <marul@laposte.net>
  • mordoror <mordoror@gmail.com>
  • Tobias Müller <Tobias_Mueller@twam.info>
  • Yves Delley <hack@delley.net>

If you think your name should be here, please let me know.

PyVISA Changelog

1.10.1 (2019-09-11)

  • Fix reading binary values with an empty header PR #454
  • Allow to use different headers in write_binary_values PR #454
  • Remove delay kwarg from read_ascii_values which should never have been there PR #454
  • Clarify the documentation about open_timeout PR #451

1.10 (2019-08-09)

  • Change the returned data_length for IEEE block of undefined size to 0 PR #435
  • Add chunk_size and data_length keyword argument to read/query_binary_values PR #435
  • Make the ordering of the visa library deterministic PR #399
  • Properly close pipes when looking for a shared library path on linux #380
  • Fixing missing argument for USBInstrument.usb_control_out PR #353
  • avoid attempting to close already closed resources in del PR #424
  • add a list_opened_resources method to the ResourceManager PR #415
  • use privately stored resource name in Resource class rather than relying onVisaLibrary PR #415
  • keep track of resources created by the ResourceManager to properly close them PR #357
  • replace time.clock by time.perf_counter under Python 3 PR #441
  • make the ordering of the visa library deterministic PR #399
  • properly close pipes when looking for a shared library path on linux #380
  • fixing missing argument for USBInstrument.usb_control_out PR #353
  • usb_control_out -> control_out. warnings for deprecated usb_control_out PR #353
  • Added new function log_to_stream() PR #363
  • Made all enumerations of the constants module unique.Fixed duplicate enums in StatusCode PR #371
  • Use ni backend when specifying a file in open_visa_library PR #373
  • Add flush() method to all resource classes that support viFlush()(with the exception of VXIInstrument class) PR #390

1.9.1 (2018-08-13)

  • Add expect_termination argument to read_binary_values andquery_binary_values. This allows to retain the behavior of these methods frompyvisa 1.8, where the length of the block of values that is being read didnot include the very final read termination. For instruments omitting thetermination character when transferring binary data, visa library raises atimeout exception in case pyvisa 1.9.0 is used. Note that the behavior is notreverted completely to its pyvisa 1.8 state because for other instruments(for example, Keysight PNA on Ethernet) the termination character is indeedadded at the end of the message, and is not counted in the declared length inthe header. Prior to 1.9, if the last character of the binary block is alsothe termination character, the actual termination could be missed, whichleads to hard to debug bugs hence the choice to preserve 1.9 behavior bydefault. PR #349
  • fix an encoding handling issue in setup.py PR #343
  • if installed use pyvisa-py backend if a binary VISA implementation is notinstalled. PR #341
  • make custom exception hashable by removing __eq__. This should not impactuser code. PR #340
  • fix an issue with the default value for GPIB secondary address in rname.pyPR #336
  • ensure docstrings exist before manipulating them (attributes.py) PR #318
  • documentation improvements PR #320 #323

1.9 (2017-02-25)

  • Drop support for Python 2.6, 3.2 and 3.3 PR #300
  • add the missing read_binary_values and read_ascii_values (PR #301)
  • deprecate old methods in MessageBased (ask, read_values, query_values,write_values, ask_delay) (PR #301)
  • add support for hp headers in binary data (PR #301)
  • fix encoding issue in write_ascii_values (PR #301)
  • use import to load backend rather than pkgutil.iter_modules. This allowsPyVISA to support PyInstaller PR #307
  • improvements to the visa shell: attributes type conversion (PR #299),termchar command (PR #285), timeout command (PR #284),support for non-default backend (PR #283), console script pyvisa-shell(PR #286)
  • improve speed for large data transfer by using bytearray instead of bytes(PR #282)
  • make Resource a context manager closing it. (PR #255)
  • add 64 bits version of registry based functions (PR #278)
  • make exceptions pickable (PR #249)
  • add resource_name to the output of parse_resource_extended (PR #238)
  • fix wait_on_event behavior in case of timeout (PR #234)
  • allow selecting the backend using the PYVISA_LIBRARY env var (PR #195)

1.8 (2015-08-24)

  • Fixed error reporting with Unicode filenames.(Issue #136)
  • Improved documentation.
  • Clarify timeout getter and setter.(Issue #167)
  • In open_resource, return a Resource object and warns if resource class not registered.
  • Register resource class for empty resource class.
  • Allow registering parent resource classes.
  • Changed types in wrapper to be platform independent (viStatus is always 32 bit).(Issue #134)
  • Fix a not a invalid EventType bug.(Thanks lupien)
  • Added optional resource_pyclass to open_resource.
  • Fixed bug in serial flush.(Thanks bkstein)
  • Implemented resource name parsing in pure python.

1.7 (2015-05-16)

  • Removed find_next and find_resources from VisaLibraryBase.(Issue also #135, thanks)
  • Implemented parse_resource and parse_resource_extended.
  • Created rname module to parse Resource Names.
  • Properly cleanup visa handlers upon resource close.(thanks lupien)
  • Improved gpib classes(thanks lupien)
  • Fixed bug in binary data writing.(Issue #140, thanks burnpack)
  • Fix reseting of line termination for serial.(Issue #147, thanks lupien)
  • Added property to resource name returning the InterfaceType value.
  • Added backend information to logging.
  • Added the flow_control attribute to ASRL resources.(Issue #144, thanks lupien)
  • Remove empty entry in resources caused by attribute registration.(Issue #144, thanks lupien)
  • Make container=numpy.array work consistently.(Issue #142, thanks Martin Ritter)
  • Create compact/struct.py for python2/3 compatibility.(thanks Martin Ritter)
  • Improve install and uninstall handlers(Issue #138, #139, #151 thanks lupien)
  • Prevents cygwin segfaults.(Issue #131)
  • Better error reporting when a resource cannot be found.(Issue #129)
  • Suppress VI_SUCCESS_MAX_CNT warning on read raw.(Issue #116)
  • Implemented smarter query values based on looking how many bytes are expected.(Issue #118)
  • Fix UnicodeDecodeError on wrong file for library load(Issue #136, thanks lupien)

1.6.3 (2015-02-08)

  • Added support to Rhode and Schwartz Passport driver.(Issue #115)
  • Fixed access to the interface_type property.(Issue #114, thanks mordoror)
  • Imported constants module in visa module.(Issue #72)

1.6.2 (2014-12-29)

  • Proper handling of VI_ERROR_RSRC_NFOUND.
  • Added conditional dependency for unittest2 in Python2.6(Issue #107)
  • Fixed Shell on Windows.(Issue #101)
  • Moved Lantz Shell to PyVISA.
  • Easier way to get debug information.
  • Better debug info for backends.

1.6.1 (2014-10-28)

  • Add ignore_warning methods to Resource and ResourceManager.
  • Added more formats to binary values.(Issue #92)
  • Fixed exception raising in legacy read_values.(Issue #91)
  • Provide a backend hook to display debug info.
  • Better debug info for binary libraries.
  • Fixed exceptions formatting(thanks Matthew94)

1.6 (2014-09-28)

  • 13 Resource Classes covering all resource types.
  • Attributes classes provided introspection to VISA attributes.
  • Many VISA attributes added to Resource Classes.
  • Use of IntEnum for common constants.
  • Better documentation.
  • Implementation of discoverable backends.
  • New functions to encode and decode of IEEE blocks.
  • New functions to encode and decode of ASCII blocks.
  • New API to transfer values from the instrument.
  • Renamed ask/ask_delay/ask_for_values to ask/query_delay/query_values.Old names still available for backwards compatibility.
  • Implemented Group Execute Trigger for GPIBInterface.(Issue #67)
  • Make setuptools a requirement.(Issue #64 and 68)
  • Simplified testing.
  • Removed legacy subpackage.
  • Removed string handling wrappers.
  • Removed Instrument class in favour of Resource.
  • Removed status and implemented thread-safe, per instrument, last_status.
  • Refactored warning ignoring mechanisms to a thread-safe one.
  • Added enum34 requirement for Python < 3.4.
  • Removed deprecated term_chars.

1.5 (2014-06-24)

  • Python 3.2+ compatibility.(Issue #32)
  • Change source encoding to utf-8.
  • Reorganized package structure.(Issue #13)
  • Improved installation.
  • Moved tests inside the package.
  • Added CI using Travis.
  • Created new wrapper for the underlying library.
  • Moved vpp43 code to legacy subpackage.
  • Moved documentation to readthedocs.
  • Make documentation mobile-friendly.(Issue #2)
  • Removed latex documentation.
  • ResourceManager is no longer a singleton.(Issue #8)
  • VisaLibrary is no longer a singleton.(Issue #7)
  • VISA functions are VisaLibrary methods.(Issue #11)
  • Improved detection of VISA library path in all OS.
  • Added diagnostics functions to help debugging.
  • Added extensive logging to help debugging.(Issue #12)
  • Improved error messages.
  • Added encoding parameter to read and write.(Issue #38)
  • Added termination parameter to read and write.(Issue #38)
  • Added size to read_raw.(Issue #37)
  • Removed delay parameter in favor of ask_delay(Issue #34)
  • Added 64 bits VISA library methods.
  • Cleaned up code.

1.3 (2008-03-26)

  • Changed licence to MIT.
  • Made determination of resource class even more careful.

1.2 (2007-09-19)

  • Changed some __getattr__ to getattr in order to have working exceptions again(e.g. timeouts) in vpp43
  • Softened the test for “INSTR” even further. Introduced the “stb” property forGPIB instruments.
  • Changed “is not an INSTR” error to a warning.
  • Added correct prefix for RPM in setup.cfg.

1.1 (2006-11-21)

  • Mentioned possible AttributeError with viParseRsrcEx.
  • Made secure against missing viParseRsrcEx.
  • Removed superfluous calls to parse_resource_extended.
  • setup.py Script can now handle installation with or without setuptools.
  • setup.py: Switched to new distutils version.

1.0 (2006-01-23)

  • New properties of SerialInstrument explained.
  • Added many further properties to SerialInstrument.

0.9.7 (2005-09-21)

  • Renamed timeout parameter in open() to open_timeout.
  • Renamed Timeout parameter in open() to open_timeout.
  • Added section about SerialInstrument.
  • Added class SerialInstrument. Made termination characters even more robust.

0.9.6 (2005-08-31)

  • Renamed TypeError to VisaTypeError.
  • Added InvalidBinaryFormat. Renamed TypeError to VisaTypeError.
  • Added a lot of docstrings. Fixed bug with ValueError exception raising.
  • Eliminated string exceptions. A little bit of code clean-up.
  • Added old distutils inclusion for RPM that cause trouble with my setuptoolsinstallation.
  • Set default for term_chars to None and implemented it in write() method.
  • Described new default for term_chars.
  • Added instrument(). Fixed bugs in __repr()__.
  • Improved documentation.
  • Switched from distutils to setuptools.

0.9.5 (2005-08-27)

  • Changed package name to “PyVISA”.
  • visa_attributes.py: 0xFFFFFFFF -> 0xFFFFFFFFL.
  • Switched from distutils to setuptools.

0.9.4 (2005-08-12)

  • Added filename selection for VISA DLL with Windows in vpp43.py.
  • Added code to skip over header before binary data.
  • Cleaned up whitespace.
  • Added support for endianess in case of binary transfers.
  • Improved binary reading; now it also accepts things like “#267…”.

0.9.3 (2005-07-21)

  • Changed default termination characters to “” for GPIB instruments. LF and CRare completely stripped from the end of read string, no matter how thetermination characters are set.

0.9.2 (2005-07-19)

  • Added remaining keyword arguments for Instrument constructor. Added CR and LF.Added working support for reading binary data.
  • Added ask() and ask_for_values().
  • Partially implemented binary reading.
  • Split the old term_chars in term_chars, delay, and send_end.
  • Implemented warning system for invalid keyword arguments. Added test for validfloat values in read_floats(). Added full term_char string in __get_term_char().
  • Standard timeout increased from 2 to 5 seconds.
  • read_floats() returns always a list.
  • Moved trigger() method to Instrument class.
  • Fixed bug in regular expression for termination characters.
  • Fixed bug with ignored term_char attribute for GPIB instruments.
  • Increased chunk_size’s default value and added it to the keyword arguments of the constructor.

0.9.1 (2005-07-03)

  • Added properties resource_name and resource_class to ResourceTemplate. Usedboth to simplify code.

0.9 (2005-06-29)

  • First usable release. See ChangeLog for more information.

Release historyRelease notifications

1.10.1

1.10.0

1.9.1

1.9.0

1.8

1.7

1.6.3

1.6.2

1.6.1

1.6

1.5

1.4

1.3

1.2

1.1

1.0 Wordify 2.0.1 download.

0.9.6

0.9.4

Download files

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

Files for PyVISA, version 1.10.1
Filename, sizeFile typePython versionUpload dateHashes
Filename, size PyVISA-1.10.1.tar.gz (6.8 MB) File type Source Python version None Upload dateHashes
Close

Hashes for PyVISA-1.10.1.tar.gz

Hashes for PyVISA-1.10.1.tar.gz
AlgorithmHash digest
SHA256ba936e2943ae29d7e33c3df00077d554c6137b02d097457ed4f36d77977e3293
MD51cb15627028e993e1419c5d2d06fab93
BLAKE2-25651d1fc21b45228718cde06b33b08761a6a9aa859dfe51dfbf07e81e0f209e776