Skip to content

Release 5.0.0

Compare
Choose a tag to compare
@aaronayres35 aaronayres35 released this 17 Jun 14:17
84122ae

The chaco release is a major release including a significant amount of codebase maintenance and clean up. Of particular note is that many previously deprecated / unused objects have been removed. This release also drops support for Python < 3.6. If you aren’t doing so already, please update your import statements to use chaco.api  as there was a significant reorganization of the package internals. Additionally, there has been a major update to the documentation, numerous bugfixes, and some new features.

Thanks to all who contributed to the release:

  • Aaron Ayres
  • Alex Chabot-Leclerc
  • Kit Choi
  • Nicola De Mitri
  • Mark Dickinson
  • Matt Hancock
  • Midhun Madhusoodanan
  • Shoeb Mohammed
  • Rahul Poruri
  • Martin Renou
  • Jonathan Rocher
  • Kuya Takami
  • Joris Vankerschaver
  • Corran Webster
  • John Wiggins
  • Xiaoyu Wu

New features/Improvements

  • Add rectangular selection tool (#482)
  • Add missing property index_range to 1D plots (#491)
  • Support renderer traits (#514)

Removals/Deprecations

  • Remove uses of PyArray_FromDims (#503)
  • Remove unused _speedups module (#504)
  • Remove SelectableOverlayPlotContainer and references to it (#574)
  • Remove chaco.datamapper and subdivision code (#577)
  • Remove serializable module and its tests (#598)
  • Delete codecov yaml configuration file (#622)
  • Remove examples for the vtk backend in chaco (#645)
  • Kill chaco.shell and related code (#667)
  • Remove objects/modules which explicitly raised a deprecation warning (#670)
  • Remove "chaco.scatter_markers" module (#677)
  • Delete "chaco.chaco_version" (#678)
  • Remove deprecated "ColorMapper._map" method (#684)
  • Delete sample_template.plt (#685)
  • Remove ChacoPlotItem / ChacoPlotEditor (#688)
  • Delete scalar_image_function_inspector_old.py (#689)
  • Officially deprecated VariableSizeScatterPlot (#691)
  • Remove PlotFrames (#692)
  • Delete "test_style.pss" (#697)
  • Remove plot_template.py (#702)
  • Remove a couple redundant old files (#711)
  • Delete PopupablePlot (#717)

Fixes

  • Fix typo in the error name (#484)
  • Fix attempts to get the shape attribute of a list or tuple. (#487)
  • Fix scrollbar demo and update docstring (#489)
  • Fix stacked bar plot example, by using the correct starting_value (#498)
  • Limit the min zoom out factor along x axis to prevent date range error (#500)
  • Do not expose 'auto' for infinite series (#501)
  • Fix zoomout issues (#505)
  • Fix zoom not working with contour plots (#506)
  • Fix and clean up multiaxis.py example (#513)
  • Enforce underscore for click command (#523)
  • Handle index=None in ScatterInspector (#540)
  • Have ArrayDataSource.get_data return empty(shape=0,)), not 0.0 if _data is None (#578)
  • Return correct sized tuples of all 0s not None if image plot resized too small (#589)
  • Resolve the NotifierNotFound error in testsuite (#601)
  • Catch nans before they cause crash in auto_ticks (#636)
  • Fix windows/pyqt test_dont_crash_on_click failure (#663)
  • Use draw_marker_at_points if possible otherwise use draw_path_at_points in ColormappedScatterPlot (#672)
  • Fix a couple of demos (#676)
  • Use plot_range_event (aka event.new) not just event in stock_prices (#728)
  • Fix broken test and handle case when _data is None in ArrayDataSource.get_data_mask() (#731)
  • Replace [] default for data with None (#734)

Documentation/examples

  • Documentation Refactor (#462)
  • Setup online redirect and proper index page for docset (#517)
  • Replace all jet color map use in examples with viridis (#557)
  • Update various comments and docstrings (#567)
  • Clean up updates for basic_elements docs pages (#570)
  • Use Enthought Sphinx Theme if available. (#571)
  • Fix broken image links on quickstart page (#588)
  • Replace handmade api docs with autogenerated api docs (#637)
  • Miscellaneous documentation fixes/changes (#642)
  • Add module doc string for chaco.api (#649, #665)
  • Use #: instead of # when needed (#650)
  • Update modules_and_classes.rst (#652)
  • Remove annotated examples from the usermanual (#653)
  • Use sphinx todo for currently empty sections of docs (#654)
  • Remove optparse from example (#655)
  • Delete the quickstart page from the docs (#668)
  • Remove references to chaco.shell from the documentation (#669)
  • Update van der waal example (#680)
  • Remove scipy tutorial content (#681)
  • Remove chaco_talk_apr_2008 from docs (#682)
  • Update hyetograph example (#687)
  • Remove unused images from codebase (#712)
  • Organize annotated examples (#721)
  • Link to "how do i", not "faq", from home page (#722)
  • Matplotlib to chaco cheatsheet in docs (#723)
  • Contribute examples to etsdemo (#751)

Maintenance

  • Import from traits.api instead of from traits.has_traits (#509)
  • Remove commented code (#511, #556, #582, #647)
  • Drop Python < 3.6 support (#554, #555)
  • Remove redundant 'control' in ZoomTool (#565)
  • Clean up style, fix warnings and broken links in tutorials/examples/faq (#568)
  • Update copyright year in license.txt (#569)
  • Remove EOF file markers (#579)
  • Remove unnecessary unittest.main calls in tests (#581)
  • Replace on_trait_change with observe (#585, #590, #591, #625, #630)
  • Remove dummy return statements (#592, #593, #594)
  • Run black on the codebase (#599)
  • Remove outdated coverage badge (#623)
  • Use requires_redraw when possible (#626)
  • Deal with getstate methods (#633)
  • Dont alias traitsui.api as tui (#634)
  • Use api modules for ETS packages where possible (#643)
  • Remove unnecessary print statements (#646)
  • Use @Property decorator instead of property function (#651)
  • Its TraitsUI, not Traits UI (#656)
  • Remove unnecessary uses of "use_draw_order" (#661)
  • Remove all uses/definitions of use_draw_order (#671)
  • Import color palette from chaco.api directly (#675)
  • Remove backwards compatibily imports from enable (#679)
  • Move tests in "tests_with_backend" submodule into "tests" submodule (#683)
  • Rename test so it is discovered by unittest discover (#693)
  • Cleanup License files (#696)
  • Update "super" usage (#703, #706, #725)
  • Use a plot default method instead of overriding the init method in examples (#704, #709)
  • Replace custom "assert_raises" with "unittest.TestCase.assertRaises" (#705)
  • Concatenate change logs (#710)
  • Re-export PolarLineRenderer and PolarMapper from chaco.api (#732)
  • Add editable option to ci install command (#733)
  • Remove calls to Component._draw_component (#737)
  • Add new chaco.plots submodule (#738)
  • Use mock through unittest (#740)
  • Consolidate overlays into "chaco.overlays" (#741, #786)
  • Replace bg_color with bgcolor (#742)
  • Revive ScalyPlot (#744)
  • Add/Update copyright headers (#755)
  • Plot Containers Refactor (#757, #758, #764)
  • Remove all definitions / uses of _draw_component (#743, #772)

Build/CI

  • Update edm and install/config scripts (#492)
  • Use Cython to build extension modules (#502)
  • Remove Python 2.7, 3.5 testing, add PyQt 5 (#524)
  • Add source click option used on cron jobs to install ets packages from source (#532)
  • Switch on default warning flag for CI test command (#537)
  • Use PySide2 from EDM instead of PyPI and Use the latest EDM version (3.0.1) (#538)
  • Disable macOS builds on Travis CI (#543)
  • Fix cron job not installing additional dependencies (#544)
  • Add ci command for building documentation (#566)
  • Run flake8 on CI but ignore all existing errors (#600)
  • Add GitHub Actions CI workflow (#631)
  • Import version from installed package if the file doesnt exist (#644)
  • Skip test_dont_crash_on_click on windows/pyqt (#666)
  • Cleanup ci module and setup (#695)
  • Unskip no longer failing test (#714)
  • Add pyproject.toml specifying numpy and cython as build deps (#730, #747, #779)