Recent Releases of CMasher

CMasher - v1.9.2

What's Changed

  • BLD: fix build artifacts' size by @neutrinoceros in https://github.com/1313e/CMasher/pull/172
  • REL: prepare release 1.9.2 by @neutrinoceros in https://github.com/1313e/CMasher/pull/173

Full Changelog: https://github.com/1313e/CMasher/compare/v1.9.1...v1.9.2

Scientific Software - Peer-reviewed - Python
Published by neutrinoceros over 1 year ago

CMasher - v1.9.1

What's Changed

  • Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.11.0 in /.github/workflows in the actions group by @dependabot in https://github.com/1313e/CMasher/pull/165
  • TST: avoid using high level (and thread-unsafe) pyplot API in tests by @neutrinoceros in https://github.com/1313e/CMasher/pull/166
  • MNT: fix ReadTheDocs builds by @neutrinoceros in https://github.com/1313e/CMasher/pull/168
  • TST: fix internal filter (discard __pycache__ as a colormap directory) by @neutrinoceros in https://github.com/1313e/CMasher/pull/169
  • REL: prepare release 1.9.1 by @neutrinoceros in https://github.com/1313e/CMasher/pull/170

New Contributors

  • @dependabot made their first contribution in https://github.com/1313e/CMasher/pull/165

Full Changelog: https://github.com/1313e/CMasher/compare/v1.9.0...v1.9.1

Scientific Software - Peer-reviewed - Python
Published by neutrinoceros over 1 year ago

CMasher - v1.9.0

Highlights

User-visible changes

  • Python 3.9 is not supported any more
  • Python 3.13 is now explicitly supported
  • pathlib is now supported everywhere in the API

What's Changed

  • TST: use uv pip compile to keep lint deps in sync by @neutrinoceros in https://github.com/1313e/CMasher/pull/130
  • ENH: do not swallow traceback to original exception when failing to define a colormap by @neutrinoceros in https://github.com/1313e/CMasher/pull/131
  • TST: use uv pip compile to keep minimal deps in sync by @neutrinoceros in https://github.com/1313e/CMasher/pull/129
  • TST: revert numpy bump by @neutrinoceros in https://github.com/1313e/CMasher/pull/132
  • MNT: migrate ruff config by @neutrinoceros in https://github.com/1313e/CMasher/pull/133
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/1313e/CMasher/pull/134
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/1313e/CMasher/pull/135
  • TST: speed up env resolution with uv by @neutrinoceros in https://github.com/1313e/CMasher/pull/136
  • TYP: fix type-check time incompatibility with matplotlib 3.9.1 by @neutrinoceros in https://github.com/1313e/CMasher/pull/137
  • DEP: drop support for Python 3.9 by @neutrinoceros in https://github.com/1313e/CMasher/pull/140
  • TST: migrate to official astral-sh/setup-uv action by @neutrinoceros in https://github.com/1313e/CMasher/pull/141
  • MNT: simplify setup-uv usage following 2.1.1 release by @neutrinoceros in https://github.com/1313e/CMasher/pull/142
  • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/1313e/CMasher/pull/143
  • TST: add CPython 3.13 to regular test matrix by @neutrinoceros in https://github.com/1313e/CMasher/pull/144
  • BLD: migrate build backend from setuptools to hatchling by @neutrinoceros in https://github.com/1313e/CMasher/pull/146
  • TST: drop pytest-cov and codecov (use coverage.py natively instead) by @neutrinoceros in https://github.com/1313e/CMasher/pull/148
  • BLD: migrate to src layout by @neutrinoceros in https://github.com/1313e/CMasher/pull/147
  • TST: reintroduce coverage measurement and improve coverage to 100% (excluding defensive programming lines) by @neutrinoceros in https://github.com/1313e/CMasher/pull/149
  • TST: use exact commit sha for github actions by @neutrinoceros in https://github.com/1313e/CMasher/pull/150
  • UX: clarify generic error message when failing to import/register a colormap by @neutrinoceros in https://github.com/1313e/CMasher/pull/151
  • DOC: lock the whole environment (not just direct dependencies) by @neutrinoceros in https://github.com/1313e/CMasher/pull/152
  • TST: don't use editable install in CI by @neutrinoceros in https://github.com/1313e/CMasher/pull/153
  • DOC: Update cmasher/colormaps references by @emmanuel-ferdman in https://github.com/1313e/CMasher/pull/154
  • DOC: move static png out of src dir by @neutrinoceros in https://github.com/1313e/CMasher/pull/156
  • TST: avoid venv activation in CI by @neutrinoceros in https://github.com/1313e/CMasher/pull/157
  • MNT: build docs with Python 3.13 by @neutrinoceros in https://github.com/1313e/CMasher/pull/158
  • TST: truly test oldest test dependencies by @neutrinoceros in https://github.com/1313e/CMasher/pull/159
  • TST: don't use editable install in CI (again) by @neutrinoceros in https://github.com/1313e/CMasher/pull/160
  • TST: fix coverage report combination by @neutrinoceros in https://github.com/1313e/CMasher/pull/161
  • ENH: support pathlib.Path everywhere by @neutrinoceros in https://github.com/1313e/CMasher/pull/162
  • CLN: tidy import statements by @neutrinoceros in https://github.com/1313e/CMasher/pull/163
  • REL: prepare release 1.9.0 by @neutrinoceros in https://github.com/1313e/CMasher/pull/164

New Contributors

  • @emmanuel-ferdman made their first contribution in https://github.com/1313e/CMasher/pull/154

Full Changelog: https://github.com/1313e/CMasher/compare/v1.8.0...v1.9.0

Scientific Software - Peer-reviewed - Python
Published by neutrinoceros over 1 year ago

CMasher - v1.8.0

What's changed

This release brings a new utility function to cmasher to easily combine colormaps. See our documentation.

  • ENH: Add cmasher.combine_cmaps, by @DanielYang59 in #122
  • REL: prepare release 1.8.0, by @neutrinoceros in #123

Full Changelog: https://github.com/1313e/CMasher/compare/v1.7.2...v1.8.0

Scientific Software - Peer-reviewed - Python
Published by neutrinoceros over 2 years ago

CMasher - v1.7.2

What's Changed

  • ENH: add stub file of cm.py and script that generates it, by @beskep in https://github.com/1313e/CMasher/pull/112
  • REL: release 1.7.2 by @neutrinoceros in https://github.com/1313e/CMasher/pull/114

Full Changelog: https://github.com/1313e/CMasher/compare/v1.7.1...v1.7.2

Scientific Software - Peer-reviewed - Python
Published by neutrinoceros over 2 years ago

CMasher - v1.7.1

What's Changed

  • TST: ignore __pycache__ in test generation by @neutrinoceros in https://github.com/1313e/CMasher/pull/101
  • ENH: slightly improve startup time by raising an exception early if viscm is installed/needed by @neutrinoceros in https://github.com/1313e/CMasher/pull/100
  • ENH: load colormaps from binaries instead of text files by @neutrinoceros in https://github.com/1313e/CMasher/pull/102
  • ENH: reduce startup overhead from colormap registrations by skipping type heuristics and runtime sanity checks for builtin maps by @neutrinoceros in https://github.com/1313e/CMasher/pull/103
  • TST: add doc build to CI, move dev requirement files to dedicated folder by @neutrinoceros in https://github.com/1313e/CMasher/pull/104
  • TYP: run type checking as part of CI by @neutrinoceros in https://github.com/1313e/CMasher/pull/105
  • DOC: fix broken GHA badge by @neutrinoceros in https://github.com/1313e/CMasher/pull/106
  • REL: prepare release 1.7.1 by @neutrinoceros in https://github.com/1313e/CMasher/pull/107

Full Changelog: https://github.com/1313e/CMasher/compare/v1.7.0...v1.7.1

Scientific Software - Peer-reviewed - Python
Published by neutrinoceros over 2 years ago

CMasher - v1.7.0

Highlights

  • This is the first release by CMasher's new maintainer @neutrinoceros
  • Python 3.9 to 3.12 is supported
  • Deprecation warnings triggered with current Matplotlib versions (3.5 -> 3.8) were resolved
  • The deprecated colormap alias "heat" was removed. The colormap is still available as "torch"

Dependencies

  • Python 3.9 or newer is now required
  • Matplotlib 3.5 or newer is now required
  • Numpy 1.19.3 or newer is now required
  • e13tools was dropped as a dependency

What's Changed

  • GitHub Action to lint Python code by @cclauss in https://github.com/1313e/CMasher/pull/39
  • ENH: future proof against matplotlib's evolving API by @neutrinoceros in https://github.com/1313e/CMasher/pull/44
  • MNT: migrate setup.cfg -> pyproject.toml by @neutrinoceros in https://github.com/1313e/CMasher/pull/55
  • MNT: drop support for EOL Python versions 3.6 and 3.7 by @neutrinoceros in https://github.com/1313e/CMasher/pull/56
  • MNT: fixup codespell check by @neutrinoceros in https://github.com/1313e/CMasher/pull/57
  • MNT: enable dependabot by @neutrinoceros in https://github.com/1313e/CMasher/pull/59
  • MNT: migrate linting and formatting to pre-commit + ruff by @neutrinoceros in https://github.com/1313e/CMasher/pull/60
  • STY: autofixes (ruff) by @neutrinoceros in https://github.com/1313e/CMasher/pull/61
  • MNT: upgrade GHA by @neutrinoceros in https://github.com/1313e/CMasher/pull/62
  • MNT: temporarily deactivate cross-plateform CI by @neutrinoceros in https://github.com/1313e/CMasher/pull/64
  • MNT: exclude new dev-only files in MANIFEST.in by @neutrinoceros in https://github.com/1313e/CMasher/pull/63
  • TST: add color to pytest output in CI by @neutrinoceros in https://github.com/1313e/CMasher/pull/65
  • TST: fix utility tests by @neutrinoceros in https://github.com/1313e/CMasher/pull/66
  • STY: manually fix remaining ruff violations by @neutrinoceros in https://github.com/1313e/CMasher/pull/67
  • STY: fix EOF by @neutrinoceros in https://github.com/1313e/CMasher/pull/
  • STY: apply ruff-format by @neutrinoceros in https://github.com/1313e/CMasher/pull/69
  • STY: fix trailing whitespaces by @neutrinoceros in https://github.com/1313e/CMasher/pull/95
  • MNT: fix bandit pre-commit hook by @neutrinoceros in https://github.com/1313e/CMasher/pull/71
  • MNT: prettify yaml files by @neutrinoceros in https://github.com/1313e/CMasher/pull/72
  • MNT: fixup codespell pre-commit hook by @neutrinoceros in https://github.com/1313e/CMasher/pull/73
  • MNT: temporarily disable safety check by @neutrinoceros in https://github.com/1313e/CMasher/pull/75
  • DEP: bump minimal requirements on matplotlib 3.5 and numpy 1.17.3 by @neutrinoceros in https://github.com/1313e/CMasher/pull/76
  • API: remove deprecated colormap alias (heat -> torch) by @neutrinoceros in https://github.com/1313e/CMasher/pull/77
  • DEP: drop dependency on e13tools (broken on Python 3.12) by @neutrinoceros in https://github.com/1313e/CMasher/pull/78
  • MNT: fix deprecation warnings from matplotlib by @neutrinoceros in https://github.com/1313e/CMasher/pull/79
  • TST: test against matplotlib/viscm instead of fork by @neutrinoceros in https://github.com/1313e/CMasher/pull/80
  • BUG: fix a future warning from numpy (avoid iterating over scalar array) by @neutrinoceros in https://github.com/1313e/CMasher/pull/81
  • TST: treat warnings as errors by @neutrinoceros in https://github.com/1313e/CMasher/pull/74
  • MNT: drop support for Python 3.8 by @neutrinoceros in https://github.com/1313e/CMasher/pull/83
  • TST: add explicit support for Python 3.10 to 3.12 by @neutrinoceros in https://github.com/1313e/CMasher/pull/82
  • TST: drop support for Windows x86 (32 bits arch) by @neutrinoceros in https://github.com/1313e/CMasher/pull/85
  • TST: re-enable tests on Windows and MacOS by @neutrinoceros in https://github.com/1313e/CMasher/pull/84
  • MNT: cleanup unused requirement by @neutrinoceros in https://github.com/1313e/CMasher/pull/87
  • MNT: bump minimal requirement for numpy by @neutrinoceros in https://github.com/1313e/CMasher/pull/88
  • BUG: fix compatibility with matplotlib 3.5 by @neutrinoceros in https://github.com/1313e/CMasher/pull/89
  • ENH: delay expensive imports by @neutrinoceros in https://github.com/1313e/CMasher/pull/90
  • TST: test against minimal env by @neutrinoceros in https://github.com/1313e/CMasher/pull/86
  • MNT: stop linting with flake8 (ruff is already doing the job) by @neutrinoceros in https://github.com/1313e/CMasher/pull/91
  • TST: simplify pytest runs by @neutrinoceros in https://github.com/1313e/CMasher/pull/92
  • TST: separate publication-related tasks from normal tests by @neutrinoceros in https://github.com/1313e/CMasher/pull/93
  • REL: prepare release 1.7.0 by @neutrinoceros in https://github.com/1313e/CMasher/pull/94
  • REL: release 1.7.0 by @neutrinoceros in https://github.com/1313e/CMasher/pull/95

New Contributors

  • @cclauss made their first contribution in https://github.com/1313e/CMasher/pull/39
  • @neutrinoceros made their first contribution in https://github.com/1313e/CMasher/pull/44

Full Changelog: https://github.com/1313e/CMasher/compare/v1.6.0...v1.7.0

Scientific Software - Peer-reviewed - Python
Published by neutrinoceros over 2 years ago

CMasher - v1.6.0

This is the v1.6.0 release of the CMasher package.

New additions/changes since v1.5.0: - Removed support for Python 3.5; - Added support for Python 3.9; - Added the amethyst; cosmic; lilac; neon; sepia; tree and tropical sequential colormaps; - Added the guppy and seaweed diverging colormaps; - Added the emergency and infinity cyclic colormaps; - Remade the seasons diverging colormap into a cyclic colormap; - Remade the gem sequential colormap into a [15, 85] version; - Modified flamingo slightly to include more pink; - Added ability to turn off the greyscale versions of all colormaps in the colormap overviews; - Added option to scale the dimensions of the colormap subplots in the colormap overviews; - Added a dark_mode option to create_cmap_overview; - Added ability to make qualitative colormaps from existing colormaps (#28); - Added tutorial to docs on how to use CMasher colormaps in R (#26); - Colormaps can now be imported/registered using their HEX-code values; - Colormaps are now also available using their normalized RGB values in the individual colormap folders; - Added an application overview of all colormaps to the 'Usage' section in the online docs, which can be used to easily see what a colormap looks like when used in a realistic way.

Scientific Software - Peer-reviewed - Python
Published by 1313e about 5 years ago

CMasher - v1.5.0

This is the v1.5.0 release of the CMasher package.

New additions/changes: - Dropped Python 2.7 support; - Added the wildfire; and toxic colormaps; - Renamed old wildfire to seasons; - Added the sort=None argument to create_colormap_overview to allow for the colormaps to retain their current order; - Added the title argument to create_colormap_overview to set the title that is used in the overview; - Added a set of CLI tools that allow for some utility functions to be accessed from the command-line with cmr; - Changed the take_cmap_colors function to allow for all colors in a specific range to be returned with N=None; - Added the create_cmap_mod function that can create stand-alone Python modules of CMasher colormaps.

Scientific Software - Peer-reviewed - Python
Published by 1313e almost 6 years ago

CMasher - v1.4.0

This is the v1.4.0 release of the CMasher package.

New additions/changes: - Added the bubblegum; fall; pepper; swamp; watermelon; and wildfire colormaps; - Reworked the dusk colormap into a [0, 85] sequential colormap; - Reworked the horizon colormap into a [20, 100] sequential colormap; - Reworked the nuclear colormap into a [0, 90] sequential colormap; - Revamped the online documentation to create separate webpages for each colormap; - Online documentation now includes examples of each utility function that CMasher has; - Added the get_sub_cmap; set_cmap_legend_entry; and take_cmap_colors functions; - Split off the registration part of the import_cmaps function into the register_cmap function; - Converted the _get_cm_type function into the public get_cmap_type function; - Added 8-bit RGB text-files of each colormap to the appropriate colormap directory; - Added stand-alone Python modules of each colormap as well; - The create_cmap_overview function now treats diverging colormaps differently when sorting on their lightness profiles (takes central value instead of starting value).

Scientific Software - Peer-reviewed - Python
Published by 1313e almost 6 years ago

CMasher - v1.3.0

This is the v1.3.0 release of the CMasher package.

New additions: - Added the ocean; pride; savanna; and viola colormaps; - Added the get_bibtex function to retrieve the BibTeX entry of the CMasher paper; - Added the 'plotprofile' argument to the `createcmap_overview` function. When set to True, the created overview will contain the lightness profile of the colormaps plotted on top of their grey-scale versions. This allows for more in-depth information on the performance of a colormap.

Bugfixes: - Fixed a bug where diverging colormaps with plateaus in the center of their lightness profiles, would be flagged as 'misc'.

Changes/Optimizations: - Made several optimizations to the create_cmap_overview function to allow it to be efficiently saved as an SVG-file (saving as SVG will now result in a much smaller file size than its PNG equivalent, despite being of a higher quality); - Made several QoL changes to the online docs, including saving the colormap images as SVG-files to make them faster to load on mobile (using the aforementioned optimizations); - As my modified version of viscm contains a fix allowing it to handle diverging colormaps better, replaced the dual source files of all diverging colormaps with single files.

Scientific Software - Peer-reviewed - Python
Published by 1313e about 6 years ago

CMasher - v1.2.2

This is the first official release of the CMasher package, to accommodate for the submission of the JOSS paper.

Scientific Software - Peer-reviewed - Python
Published by 1313e over 6 years ago