PyQDataSet and PyDatum are wrappers which make infix operations possible with these Das2 objects. For example, calling ds+2 calls the method __add__(2) of the PyQDataSet called ds. Additionally, PyQDataSets can always be modified and a copy of the data might be made to allow this, since QDataSets are often immutable.

Additional commands are added to Jython to make it more useful, like the dataset command which converts Python arrays and Datums into QDataSets and getDataSet which reads URIs into a PyQDataSet for scripting.

This package contains support for completions and control GUI generation. Both of these have the similar task that they need to quickly generate code which can be executed to get a result. For example, when completions are triggered, we run a simplified version of the script which allows us to query for completions. When a GUI is needed a simplified version of the script which only has the "getParam" calls is created.

This package also implements argument types and constraints on these types.

TypeTypeCodeDescriptionConstraints
NumFNumbermin,max,values
StrAStringregex,values,stringType
Time RangeTTime rangemin,max,values
resourceURIRResource URIregex,glob
URIUURIregex,glob
URLLURLregex,glob
FileMLocal file or directoryvalues
DatumDPhysical value (5 cm) or nominal value (Chicago)regex,glob,values
DatumRangeSPhysical range (5-10 cm, 2026-08-24)values
ColorCColorvalues

Constraints: