Package Tools


This package is to provide a standardized way for developers to manage packages that they distribute to others. In particular, this package sets up key information about the package in a way that it remains resident in the experiment. It also provides a standardized way to query for help and other information about a package as well as to remove a package.


The package provides the following set of functions:



Set up a package.

- name: name of package

- folder: storage in root:Packages:folder (default is root:Packages:name)

- file: source originates in the given file

- info, author, version: information, author, and version number

- hasHelp: 0-no, 1-yes

- removable: 0-no, 1-yes, NaN (non-existent key)-standard removal not supported

- quiet: 0-no report in history; 1-report of setup in history (default)


Update a package.


Displays the help file (if it exists) for the package (equivalent to DisplayHelpTopic name). Otherwise, shows alert that help file is not included. The optional key=keystring can be used to show the given keystring information (if it exists), where keystring is one of the options give under PackageSetup, as in PackageHelp("PackageTools",key="author").


Removes the package (without query or report in history when quiet=1, default is quiet=0).


Returns 1 if a package has been set up by PackageTools or 0 if not. Also sets a flag V_exists to same value.



Lists all the package tool information.


Shows a log file recording setup, update, or removal information.


Returns as a string the key value for the named package.


Returns as a DFREF the location of the package folder for the named package (to the given folder level).

Distribution Details

  • Experiments: none
  • Procedure Files: PackageTools.ipf
  • XOPS: none
  • Demos: none
  • Requires Packages: NONE
  • Help Files: none
  • Documentation: the Web pages for this project, an example package header, and an example package setup function
See also here for a Code Snippet similar to what is used within this package for getting help about and removing a package.

User Notes

You SHOULD put an alias (shortcut) to this procedure in the Igor Procedures folder to make full use of all of its features. The procedure includes a hook function that is used to update itself. See also here for a Code Snippet showing how to make use of such a feature in your own package.

Project Details

Project CVS:

Current Project Release

PackageTools IGOR.6.20.x-1.x-dev

Release File: (277.5 KB)
Version: IGOR.6.20.x-1.x-dev
Version Date:
Version Major: 1
Version Extra: dev
OS Compatibility: Mac-Intel Windows
Release Notes:


This is the nightly development release for all 6.20-1.x versions. If this notice appears, the release version has newer updates than the official version.

View the snapshot notices here. All notices that say

PackageTools: branch 6.20-1 <- working copy

indicate updates to the development release.
View All Releases




Igor Pro 9

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More