PyX Changelog

What's new in PyX 0.14.1 Alpha

Nov 7, 2015
  • PyX source distribution is now hosted on PyPI. We also uploaded all old releases to PyPI. At the same time we removed the downloads from sourceforge. A few bug fixes are also included in this release.

New in PyX 0.14 Alpha (May 1, 2015)

  • new svgwriter module:
  • complete SVG output
  • SVG font output disabled by default due to missing support by
  • most browsers, fallback by rendering fonts as paths
  • new svgfile module:
  • SVG reader
  • unparsed mode: embedd svg in other svg
  • parsed mode: supports reading paths (including styles,
  • tranformations, etc.) into a PyX canvas
  • bitmap module:
  • using bytes in image type conversions and channel extraction
  • color module:
  • fix grey class
  • fix rgb css binary issue and short code index error
  • epsfile module:
  • fix parsing of bounding box
  • text module:
  • no end of pages test when no dvi is created at all
  • add chroot config option needed to use a chrooted TeX installation
  • graph module:
  • add xy12axesat feature to graphxyz
  • canvas module:
  • fix clipping and transformation applied together
  • provide _repr_svg_ in canvas for use by IPython
  • new constructor argument ipython_bboxenlarge
  • deco module:
  • remove shortcut for ornaments only to not skip global styles

New in PyX 0.12.1 Alpha (Oct 26, 2012)

  • graph styles:
  • fix drawing and clipping of gradient style

New in PyX 0.11.1 Alpha (Oct 17, 2012)

  • canvas:
  • fix pipeGS (adding support for writing using pycompat.popen)
  • deco module:
  • arrow decorator: proper sign of constriction length for positioning reversed arrows
  • dvi/texfont:
  • fix exception type
  • increase designsize deviation to 4 (needs some further investigation)
  • contrib files:
  • fixes due to the dvi and font restructuring
  • setup.py:
  • fix build process for extension modules
  • fix download url to allow for easy_install (hopefully)
  • manual:
  • converted to sphinx

New in PyX 0.11 Alpha (Oct 17, 2012)

  • font and dvi modules:
  • major reorganization
  • TeX mapping files are a property of the writer now
  • By that the pdfwriter now uses pdftex.map instead of psfonts.map
  • It's also possible to pass a fontmap to a texrunners text method to use
  • different mappings within a single output file)
  • support for font matrices (afm) for Type1 fonts
  • using fonts without a metrics is still supported, but properly issues a warning now)
  • interface for basic TeX-less text output
  • new PS and PDF writer options: strip_fonts, text_as_path, mesh_as_bitmap,
  • mesh_as_bitmap_resolution
  • fix for commented out UniqueID
  • fix rounding of font sizes
  • fix scaling of VF position increments
  • new filelocator module
  • graph modules:
  • bar style on graphxyz (single datasets only)
  • graphxyz:
  • fix position of z4 axis
  • set correct errorname for z axis
  • fix wrong y value usage instead of z value in pos methods
  • fix unused color range settings in surface style
  • fallbackrange for axes with vanishing range
  • dokeyitem method (to be called with a plotitem) to alter the key order
  • doplot() was renamed to doplotitem(), dodata() was renamed to doplot()
  • to have similar naming conventions like for the graph key
  • axis module: do not divide by None for data.min and/or data.max being None (see patch #2833369)
  • axis painter:
  • properly rotate axis titles when ticks are not othorgonal
  • to the axis
  • correct namedirection in bar axis painter
  • graph.style.arrow: decorator is an parameter of the constructor now
  • remove ticks with unset ticklevel and labellevel to prevent rating failures
  • canvas and document modules:
  • auto-guess output filename from the script filename
  • add ciecolor flag and input type to the pipeGS method of canvas
  • pyxrc:
  • new config options for psfontmaps and pdffontmaps
  • new config option for formatting of Python warnings
  • new config section for new filelocator module
  • text module:
  • fix two bugs in the read pipe of the texrunner
  • fix "

New in PyX 0.10 Alpha (Oct 17, 2012)

  • graph module:
  • graphxyz for 3d graphs with parallel and central projection
  • doplot method (to be called with a plotitem) to alter the plotitem order etc.
  • graph styles:
  • new surface style for 3d graphs (colored surfaces are functional
  • and useful!) for 2d graphs as well)
  • new grid style for 3d graphs
  • new impulses style
  • optional textdx/textdy columns to the text style added
  • arrowpos parameter to the arrow style added
  • bugfix: fromvalue axis range adjustment in histogram style
  • bugfix: axis range adjustment in range style
  • axis module:
  • painter: don't insert axis title twice (thanks to Tim Gray for reporting this problem)
  • parter: extend the logarithmic parter to calculate automatic partitions for huge ranges
  • TODO: documentation of the new autoexponent parameter)
  • fix: range rating was not taken into account due in the 0.9 release
  • data module:
  • list class was renamed to points; deprecation warning added
  • for instance creation, but inheritance from list failes
  • new values class
  • new mesh module:
  • internal helper module for efficient handling of triangular colored meshs
  • color module:
  • renamed: palette->gradient, functionpalette->functiongradient, linearpalette->lineargradient
  • new class palette representing a discrete ordered list of colors
  • support transparency for filling/stroking in pdf separately
  • transparency support for postscript as available by means of a proprietary
  • ghostscript extension (for ps2pdf)
  • renamed method: tostring8bit -> to8bitstring (bug #2932888)
  • attr module:
  • add multichangeattr to perform a select on different changeable attributes
  • depending on the selects total number
  • font modules:
  • t1font:
  • add missing glyph traversal in t1seacs updatepath
  • normpath module:
  • support zero-length normsubpaths
  • canvas module:
  • don't change order of attrs passed to canvas constructor in place
  • added __truediv__ methods according to PEP 238

New in PyX 0.9 Alpha (Oct 17, 2012)

  • most important changes:
  • mathtree removal (warning about integer division)
  • barpos style does not build tuples for nestedbar axes automatically
  • new deformers for path manipulation (for smoothing, shifting, ... paths)
  • font modules:
  • new framework for font handling
  • own implementation of type1 font stripping (old pdftex code fragments removed)
  • complete type1 font command representation and glyph path extraction from font programs
  • t1code extension module (C version of de-/encoding routines used in Type 1 font files)
  • AFM file parser
  • data module:
  • mathtree removal: more flexibility due to true python expressions
  • default style instantiation bug
  • style module:
  • automatic subaxis tuple creation removed in barpos (create tuples
  • in expressions now; subnames argument removed since it became pointless;
  • adujstaxis became independend from selectstyle for all styles now)
  • remove multiple painting of frompath in histogram and barpos styles
  • fix missing attribute select when using a bar style once only
  • fix histograms for negative y-coordinates
  • fix histogram to stroke lines to the baseline for steps=0 when two subsequent values are equal
  • add key method for histogram style
  • implement a changebar style
  • graph, axis and style module:
  • support for mutual linking of axes between graphs
  • new domethods dependency handling
  • separate axis range calculation from dolayout
  • axis.parter module:
  • linear and logarthmic partitioners always need lists now as it was documented all the time;
  • renamed tickdist/labeldist to tickdists/labeldists; renamed tickpos/labelpos to tickpreexps/labelpreexps)
  • axis module:
  • patch to tickpos and vtickpos
  • anchoredpathaxis added
  • properly handle range rating on inversed axis
  • invalidate axis partitions with a single label only by the distance rater
  • fallback (with warning) to linear partitioner on a small logarithmics scale
  • painter module:
  • patch to allow for tickattrs=None
  • color module:
  • transparency support (PDF only)
  • conversion between colorspaces
  • nonlinear palettes added
  • the former palette must now be initialized as linearpalette
  • remove min and max arguments of palettes
  • text module:
  • improve escapestring to handle all ascii characters
  • correct vshift when text size is modified by a text.size instance
  • recover from exceptions
  • handle missing italic angle information in tfm for pdf output
  • allow for .def and .fd files in texmessage.loaddef (new name for texmessage.loadfd, which was restricted to .fd files)
  • path module:
  • correct closepath (do not invalidate currentpoint but set it to the beginning of the current subpath); structural rework of path items calculate real bboxes for Bezier curves
  • fix intersection due to non-linear parametrization of bezier curves
  • add rotate methods to path, normpath, normsubpath, and normsubpathitems
  • add flushskippedline to normsubpath
  • add arclentoparam to normsubpath and normsubpathitems
  • path is no longer a canvasitem
  • reduce number of parameters of outputPS/outputPDF methods (do not pass context and registry)
  • normpath module:
  • contains normpath, normsubpath and normpathparam which have originally
  • been in the path module
  • return "invalid" for certain path operations when the curve "speed" is
  • below a certain threshold
  • normpath is no longer a canvasitem
  • reduce number of parameters of outputPS/outputPDF methods (do not pass context and registry)
  • deformer module:
  • rewritten smoothed to make use of the subnormpath facilities
  • rewritten parallel for arbitrary paths
  • deco module:
  • add basic text decorator
  • allow arrows at arbitrary positions along the path
  • connector module:
  • boxdists parameter need to be a list/tuple of two items now
  • changed the orientation of the angle parameters
  • trafo module:
  • renamed _apply to apply_pt
  • introduce _epsilon for checking the singularity of a trafo
  • epsfile module:
  • use rectclip instead of clip to remove the clipping path from the
  • PostScript stack, which otherwise might create strange effects for
  • certain PostScript files
  • dvifile module:
  • silently ignore TrueType fonts in font mapping files
  • type1font module:
  • accept [ and ] as separators in encoding files
  • canvas module:
  • remove registerPS/registerPDF in favour of registering resourcing during the outputPS/outputPDF run
  • move bbox handling to registry
  • rename outputPS/outputPDF -> processPS/processPDF
  • remove set method of canvas
  • add a pipeGS method to directly pass the PyX output to ghostscript
  • allow file instances as parameter of the writeXXXfile methods
  • document modules:
  • allow file instances as parameter of the writeXXXfile methods
  • style module:
  • make rellength the default for dash styles
  • random notes:
  • switched to subversion on 2006/03/09

New in PyX 0.8.1 Alpha (Oct 17, 2012)

  • deco module:
  • fix bug in postscript deco code for stroking only attributes
  • path module:
  • fix multicurveto._normalized
  • fix path.paramtoarclen and path.paramtoarclen_pt
  • remove unused method-local function
  • fix linestyle rellength in PostScript
  • correction to the rounding problems in circles
  • epsfile module:
  • fix a typo
  • pattern module:
  • issue a warning when not using a stroke color for patterns
  • text module:
  • postpone PDFfontdescriptor information, since it raises an error on certain
  • fonts even when PostScript output was requested
  • remove spurious spaces when checking for empty texmessages
  • kpathsea module:
  • caching in fallback to lower system call bottleneck
  • canvas module:
  • add missing writePSfile wrapper
  • add *args to writeEPSfile and writePDFfile wrappers
  • writer modules:
  • writebbox option to write bbox information (disabled by default)
  • even when a paper format is specified (PS and PDF writers only)
  • use arclen in spring example
  • add knot example
  • use pdf graphic files for pdf version of the manual
  • use PyX to create tipa fallbacks for FAQ
  • correct description regarding the manual in the README file