Release 5.0.0
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)