Commit 0992c2c5 authored by SVN-Git Migration's avatar SVN-Git Migration

Imported Upstream version 1.20.1

parent d8020ecd
Changes in 1.20.1:
* Include free-desktop appdata, MIME and desktop files
* When plotting xy widget filled error regions, plot line on top
Bug fixes:
* Fix embedding interface startup problem in 1.20
* Additional embedding interface fixes for Python 3
* Fix crash in tutorial if flashing widget deleted
* Fix polar plot crash with reverse minumum and maximum radii
* Fix crash when changing range of broken axes interactively
* Fix object deletion crash in setting menu
* Check output dataset is not same as an input for histograms
* Fix for compilation on Qt 4.6
* Catch socket errors on embed client
* Fixes for formatting strings, including fixes for arguments of
the extended %Vg format and properly supporting %%
* When restoring window position, do not restore offscreen
Changes in 1.20:
* Add HDF5 file data import
* Allow expressions to be edited for linked 2D datasets
* Add support for 2D datasets with irregular gridpoints
* Add 2D data CSV import
* Allow safe renaming of linked datasets
* Support importing text from FITS files
Bug fixes:
* When capturing data from a file/named pipe, do not stop when no
more data are available
* Fixes mangling of text in saved files using Windows binary
* Fix encoding for standard file import
* Fix FITS import for python3
Changes in 1.19.1:
* Add option to disable scaling of marker border with point scaling
* Implement label at-minimum/at-maximum for ternary plot
* Add border and background fill settings for text label widget
* Enable FITS support with astropy
Bug fixes:
* Fix broken drag and drop in documents
* Fix deleted C/C++ object crash when using undo and in tutorial
* Fix compilation in MSVC for Python 3
* Remove warning/error in compilation in gcc in SUSE
* Add Python version classifiers
* Fix document icons in Windows binary
* Error bars can be plotted incorrectly for histogrammed data
Changes in 1.19:
* Make code compatible with python3
* Separation of python module and resources in source package
(packagers may need to consult INSTALL)
* Move to v2 of PyQt API
* Remove deprecated numpy API from helpers module
* Allow FITS dataset names to be blank if prefix/suffix are not
* New ast-based code security checker
* Picker uses 1-based index for consistency
* Allow non-text datasets to be used for labels
* Add number->text conversion dataset plugin
* Add binning dataset plugin
* Allow more significant figures in float values
* Intelligent choice of significant figures when interactively
changing axis range
* Decrease minimum range of axis
* Add notes setting to document, pages and graphs
Bug fixes:
* Fix crash if other linked axis not initialized
* Fix crash if trying to edit non-editable datasets
* Make ignore exception work in error reporting dialog
* Renaming datasets, widgets and editing data now allow original
text to be edited, rather than being cleared
* Fix line positions on broken axes
* OS X Mavericks - fixes for opening files from finder and fonts
Changes in 1.18:
* Add support for dataset expressions when plotting
* Add axis-function widget for plotting axes which have a scale given
by a function, or are linked to a different axis via a function
* Add stepped colour maps
* Support editing multiple datasets simultaneously in editor
* Add setting to fix aspect-ratio of graphs
* Add 'vcentre' line step mode for vertical step plots
* Add internal margin setting for grids to separate sub-plots
* Add pixel, pixel_wcs, fraction and linear_wcs FITS import
coordinate system modes
* Add drop down toolbar button menu to create axis widgets
* More efficient widget dependency resolution
Bug fixes:
* Fix reversed 'broken'-axes
* Do not always draw axes above other widgets (fixes problem with key
below axis)
* Fix use of transparency image when plotting non-square images
* Allow lists passed as xrange and yrange to create 2D dataset
* Fix FieldBool positioning for plugins
* QDP import: fix "no" values when used mixed with numbers
* Remove warning of log images with zeros
* For embedded mode, always return string for __repr__
* Workaround for windows appearing behind for Mac OS X
* Improve property spacing on Mac OS X
Changes in 1.17.1:
* Allow coloured points for non-orthogonal plots (polar, ternary)
* Remove unnecessary exception data
Bug fixes:
* Fix Print dialog
* Fix command-line "Print" command
* Fix duplicate axes drawn in grid
* Fix crash adding empty polar plot
* Exit properly on Mac OS X with --export option
* Fix highlighted button icons missing (Mac OS X binary)
Changes in 1.17:
* Add new broken axis widget with gaps in the numerical sequence
* Grid lines are plotted always under (or over) the data
* Shift+Scroll wheel scrolls left/right (thanks to Dave Hughes)
* Polar plots can have a "minimum" radius and log axes
* Many more LaTeX symbols added
* Add SAMP/VoTable support (thanks to Graham Bell)
* New shifted-points xy line mode, which plots a stepped line with
the points shifted to lie between the coordinates given
* Points can be picked to console and/or clipboard
(thanks to Valerio Mussi)
* Allow reversed ternary plot
Bug fixes:
* Fix unicode characters for \circ and \odot
* Fix for data type of pickable points
* Fix sort by group crash bug
* Many crashes fixed
* Fix width of key when using long titles/and or multiple columns
* Fix bold and italic output in SVG output
Changes in 1.16:
* Experimental MathML support
* Add upper/lower-left/right arrows
* Add options to clip text/lines/shapes to graphs
* Add stacked-area option to bar plot widget
* Draw stacked bar plots top-down for better overlapping line behaviour
* Axis labels can be placed at left or right of axes, in addition to centre
* Line widget now has length-angle or point-to-point modes. Better support
for only specifying some coordinates.
* Exception dialog records more detailed traceback
* Use top level windows for non-modal dialogs, giving minimize in window
and no always-on-top behaviour
* Zero length vectors and arrows in vector fields are not plotted
* Add support for strings to be translated
* Add "Sort" dataset plugin
* Add "Histogram 2D" dataset plugin
* Add "Divide by Maximum" and "Normalize" dataset plugins
* Support for *args and **kwargs for custom functions
* Custom colormaps can be defined in the custom editing dialog
Bug fixes:
* Use correct definition of 1pt = 1/72in
* Workaround for splash screen problem
* Fix numerous problems reported by pyflakes
* Histograms fail when saved
* Fix plot with nan functions
* Fix failure of self tests on ARM platforms
* Force pages/documents to have physical sizes
* Fix crash if deleting multiple datasets in data edit dialog
* Check dimensions of datasets in SetData
* Handle better zero bytes in data files
* Fix error if page size zero
* Fix error if vector baselength is zero
* If dataset plugin parameter not given in saved file, use default
* Fix crash for axes with same minimum and maximum
* Fix CSV import problem when same dataset has multiple types
* Thinning markers works when using marker sizes / colors
Changes in 1.15:
* Improved hatching:
- More hatch styles
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl=""
<xsl:param name="" select="'1'"/>
<xsl:param name="" select="'1'"/>
<xsl:param name=""></xsl:param>
<xsl:param name="chunk.section.depth" select="0"></xsl:param>
<xsl:param name="html.stylesheet" select="'manual.css'"/>
<xsl:param name="section.autolabel" select="1"></xsl:param>
<xsl:param name="chapter.autolabel" select="1"></xsl:param>
......@@ -21,6 +21,7 @@ Document veusz widget types and settings
Creates an xml file designed to be processed into a web page using xsl
from __future__ import division, print_function
import re
import veusz.widgets as widgets
......@@ -72,7 +73,7 @@ def processWidgetType(root, name):
widgetxml = ET.SubElement(root, "widget")
klass = document.thefactory.getWidgetClass(name)
print klass
ET.SubElement(widgetxml, "apiname").text = name
......@@ -81,7 +82,7 @@ def processWidgetType(root, name):
except AttributeError:
for parent in [k for k in klass.allowedparenttypes if k is not None]:
for parent in [k for k in klass.allowedParentTypes() if k is not None]:
ET.SubElement(widgetxml, "allowedparent").text = parent.typename
ET.SubElement(widgetxml, "usercreation").text = str(klass.allowusercreation)
......@@ -18,13 +18,16 @@
# generate the output manual files from the input docbook file
# uses xmlto and fop
# this is pretty ugly
xmlto html-nochunks -m config.xsl manual.xml
xmlto text manual.xml
docbook2pdf $infile
docbook2html -u $infile
docbook2txt $infile
xmlto fo manual.xml
fop -pdf manual.pdf
release=$(cat ../VERSION)
pod2man --release=${release} --center="Veusz" veusz.pod > veusz.1
This diff is collapsed.
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -124,7 +124,7 @@
.\" ========================================================================
.IX Title "VEUSZ 1"
.TH VEUSZ 1 "2012-03-28" "1.15" "Veusz"
.TH VEUSZ 1 "2014-01-09" "1.20.1" "Veusz"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
......@@ -192,7 +192,7 @@ Please report bugs at
This manual page was written by Jeremy Sanders <>.
Copyright (C) 2003\-2012 Jeremy Sanders <>.
Copyright (C) 2003\-2014 Jeremy Sanders <>.
This program is free software; you can redistribute it and/or modify it
under the terms of the \s-1GNU\s0 General Public License as published by the
......@@ -78,7 +78,7 @@ This manual page was written by Jeremy Sanders <>.
Copyright (C) 2003-2012 Jeremy Sanders <>.
Copyright (C) 2003-2014 Jeremy Sanders <>.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
......@@ -124,7 +124,7 @@
.\" ========================================================================
.TH VEUSZ_LISTEN 1 "2012-03-28" "1.15" "Veusz"
.TH VEUSZ_LISTEN 1 "2014-01-09" "1.20.1" "Veusz"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
......@@ -159,7 +159,7 @@ Please report bugs at
This manual page was written by Jeremy Sanders <>.
Copyright (C) 2003\-2012 Jeremy Sanders <>.
Copyright (C) 2003\-2014 Jeremy Sanders <>.
This program is free software; you can redistribute it and/or modify it
under the terms of the \s-1GNU\s0 General Public License as published by the
......@@ -35,7 +35,7 @@ This manual page was written by Jeremy Sanders <>.
Copyright (C) 2003-2012 Jeremy Sanders <>.
Copyright (C) 2003-2014 Jeremy Sanders <>.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
......@@ -7,21 +7,28 @@ Veusz Installation
Veusz uses distutils for its installation. See below for how to use it.
python >= 2.4
PyQt >= 4.3
python2 >= 2.6 or python3 >= 3.3
PyQt >= 4.6
numpy >= 1.0
PyQt requires
Qt4 (free version)
version >= 4.4 recommended
Qt4 >= 4.7 (free version)
latest version recommended
SIP >= 4.12
Optional requirements:
Astropy >= 0.2
pyemf >= 2.0.0
Python 3 support is included in veusz-1.19+, although it has less
testing than Python 2 support. Note that the source code is compatible
with both python versions and does not need translation with 2to3. The
optional dependency pyemf does not have Python 3 support.
1.1 Full installation with distutils
There are a number of ways to install programs using distutils. I will
......@@ -29,7 +36,7 @@ list a few of the possible method here:
To install on linux to the standard location on the hard disk
# cd veusz-1.15
# cd veusz-1.20.1
# python build
# su
[enter root password]
......@@ -43,38 +50,61 @@ instead of the final three lines
On Windows, it should just be a matter of running the python
build and install steps with the requirements installed.
1.2 Testing
1.1.1 Testing
After veusz has been installed into the Python path (in the standard
location or in PYTHONPATH), you can run the executable
in the tests directory. This will compare the generated output of
example documents with the expected output. The return code of the
in the tests directory (note that resources may need to be specified:
see below). This will compare the generated output of example
documents with the expected output. The return code of the script is the number of tests that have failed (0 for
On Unix/Linux, Qt requires the DISPLAY environment to be set to an X11
server for the self test to run. In a non graphical environment Xvfb
can be used to create a hidden X11 server:
server for the self test to run. Packagers can use Xvfb in a non
graphical environment to create a hidden X11 server:
# xvfb-run -a --server-args "-screen 0 640x480x24" \
python tests/
1.3 Simple source use (if requirements installed)
If you don't want to bother installing veusz fully, it can be run from
its own directory (at the moment). Simply do:
# tar xzf veusz-1.15.tar.gz [change version here]
# cd veusz-1.15
# ./
1.1.2 Separate resources directory
By default, installs certain resource files (VERSION, icons,
ui, and examples) in the veusz python module directory. This may not
be desired behaviour for unix packagers, for example, who want to
separate the code from the data files.
It is possible to install these files in a different location by using
the option "--veusz-resource-dir" (for example with
/usr/share/veusz). If you do this, then you need to tell veusz where
these resources are on runtime or when testing. This can be done by
using a symlink "resources" in the the veusz module directory which
points to the location of these files and directories. Alternatively,
the environment variable VEUSZ_RESOURCE_DIR can be set.
There is an addition option "--disable-install-examples"
which disables installation of the example files. This may be helpful
for packagers who want to place the example files in
/usr/share/doc. As veusz shows these files on the help menu and when
testing, it is suggested that an "examples" symlink is added to the
resources directory to point to the location of the example files.
1.3 Running in-place
If you don't want to install veusz fully or are doing development, it
can currently be run from its own directory. Do
# tar xzf veusz-1.20.1.tar.gz [change version here]
# cd veusz-1.20.1
# ./run_veusz_inplace
Certain features will be disabled if you do this. You will not be able
to do contour plotting. Plotting will be much slower and export file
sizes can be larger.
You can build support without installing by doing:
sizes can be larger. It is therefore recommended to build the binary
modules and copy them to the correct location:
# python build
# cp build/*/veusz/helpers/*.so helpers/
# cp build/*/veusz/helpers/*.so veusz/helpers/
......@@ -87,8 +117,8 @@ work on all distributions due to glibc/library
incompatibilities. Simply unpack the tar file and run the main
# tar xzf veusz-linux-i386-1.15.tar.gz [change version here]
# cd veusz-linux-i386-1.15
# tar xzf veusz-linux-i386-1.20.1.tar.gz [change version here]
# cd veusz-linux-i386-1.20.1
# ./veusz
2.2 Installing in Windows
......@@ -105,14 +135,23 @@ into your Applications directory.
- It is recommended to run the self test above (if possible)
- The --veusz-resource-dir allows the packager to move veusz's
resource data files outside of the python path, e.g. into
LFS /usr/share/veusz. This option installs the resource
files into this direction. The packager should use a symlink
"resources" in the veusz directory to point to this location.
- The --disable-install-examples option prevents installing the
examples, so that they can be installed by the packager into e.g.
/usr/share/doc/veusz/examples. Veusz looks for the examples
directory in the resource directory for the examples, to make
its examples menu. It is recommended to use a symlink to
point this to the real examples location.
- Please see the above section on separate resource files which shows
how to easily separate the installation of the code and data files
- Veusz is mostly platform-independent python code and data files with
a separate "helpers" module containing platform-dependent code. It
may save space in repositories to separate out the helpers
- Veusz includes man pages in Documents/veusz.1 Documents/veusz_listen.1
These are not automatically installed by distutils.
- Veusz also includes freedesktop mime, desktop and appdata files in
the support subdirectory which can be installed to better integrate
with desktop environments.
- Icons are also included in the icons directory with the names
veusz_16.png, _32, _48, _64 and _128. A scalable icon can be found
in veusz.svg.
include setup.cfg
include setup.cfg run_veusz_inplace
include scripts/veusz scripts/veusz_listen
recursive-include tests *.py *.sh *.vsz *.selftest *.csv *.dat *.npy *.npz *.qdp *.pco
recursive-include tests *.py *.sh *.vsz *.selftest *.csv *.dat *.npy *.npz *.qdp *.pco *.fits *.hdf5
recursive-include Documents *.xml *.sh *.png *.txt *.pdf *.html *.xsl *.py *.pod *.1
recursive-include windows *.png *.ico *.svg README
recursive-include dialogs *.ui
recursive-include icons *.icns *.png *.ico *.svg LICENSE-*
recursive-include support *.xml *.desktop
recursive-include ui *.ui
recursive-include examples *.vsz *.py *.csv *.dat
recursive-include helpers *.c *.cpp *.h README LICENSE_*
recursive-include veusz/helpers *.c *.cpp *.h README LICENSE_* QtMml*
Metadata-Version: 1.0
Metadata-Version: 1.1
Name: veusz
Version: 1.15
Version: 1.20.1
Summary: A scientific plotting package
Author: Jeremy Sanders
......@@ -14,6 +14,10 @@ Description: Veusz is a scientific plotting package, designed to create
multiple plots, and fitting data.
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: X11 Applications :: Qt
Classifier: Intended Audience :: Science/Research
Veusz 1.15
Velvet Ember Under Sky Zenith
Veusz 1.20.1
Copyright (C) 2003-2012 Jeremy Sanders <>
and contributors.
Veusz is a scientific plotting package. It is designed to produce
publication-ready Postscript, PDF or SVG output. Graphs are built-up
by combining plotting widgets. The user interface aims to be simple,
consistent and powerful.
Licenced under the GPL (version 2 or greater).
Veusz is a Qt4 based scientific plotting package. It is written in
Python, using PyQt4 for display and user-interfaces, and numpy for
handling the numeric data. Veusz is designed to produce
publication-ready Postscript/PDF/SVG output. The user interface aims
to be simple, consistent and powerful.
Veusz provides a GUI, command line, embedding and scripting interface
(based on Python) to its plotting facilities. It also allows for
Veusz provides GUI, Python module, command line, scripting, DBUS and
SAMP interfaces to its plotting facilities. It also allows for
manipulation and editing of datasets. Data can be captured from
external sources such as Internet sockets or other programs.
Changes in 1.15:
* Improved hatching:
- More hatch styles
- Adjust spacing of hatching
- Change hatching line style
- Allow hatching background color
* Axes will not extend beyond specified min and max values
* Add options to extend axes by 2, 5, 10 and 15% of data range
* Ctrl+MouseWheel zooms in and out of plot
* Full screen graph view mode
* New dataset plugins
- Linear interpolation
- Cumulative value
- Rolling average
- Subtract mean / minimum
* Allow grid widgets to be placed in grid widgets
* Catch EnvironmentError exceptions on Windows
* Allow multiple datasets to be selected in dataset browser
* Allow tagging of datasets and allow datasets be grouped by tags
in dataset browser
* Allow text to be written as text in SVG, rather than curves
* Add DBus interface to program, if DBus is installed
* 2D QDP support
* Add options for packagers
--veusz-resource-dir : location of data files
* Add title option for keys
Minor changes:
* Use / rather than \ for path separator in saved file names for
Windows/Unix compatibility
* Add diamond fill error bar type
* Add \color and \marker commands to text renderer
* Support labels on xy datasets if one of x or y datasets missing
* Reorganise dataset plugin menu
* Fix links in INSTALL/README
* Floating point intervals in capture dialog
Changes in 1.20.1:
* Include free-desktop appdata, MIME and desktop files