NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #208 most downloaded on PyPI
Python library for calculating contours of 2D quadrilateral grids
Last release 23 days ago
11 Sep 2026
Release timing varies
gaps range from 2 months to 1.1 years
Nearly every release is documented
notes for 22 of 22 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
24 releases · first in 2021
One column per quarter.
ContourPy 1.4.0 introduces a new readonly property ContourGenerator.name for the algorithm name, adds support for CPython 3.15, and is the first relea
ContourPy 1.4.0 introduces a new readonly property ContourGenerator.name for the algorithm name, adds support for CPython 3.15, and is the first release to upload pyodide wheels to PyPI. Support for riscv64 and iOS architectures is added but considered experimental, wheels are available from the Scientific Python Nightly Wheels service but not PyPI.
Enhancements:
ContourGenerator.name readonly property (#566)Compatibility:
Code improvements:
ntotal argument in mpl2005 build_cntr_list_v2 (#550)Documentation improvements:
Build, testing and CI improvements:
macos-13 to macos-15-intel github runners (#507)macos-15-intel runner (#513)bokeh 3.9.0 (#533)zizmor to pre-commit (#546)ContourPy 1.3.3 is a compatibility release adding support for CPython 3.14 and Windows on ARM.
ContourPy 1.3.3 is a compatibility release adding support for CPython 3.14 and Windows on ARM.
This release supports CPython 3.11 to 3.14, and PyPy 3.11.
Compatibility:
Code improvements:
bokeh 3.7.3 (#475)numpy 2.3.0 (#480)Build, testing and CI improvements:
ContourPy 1.3.2 is a minor release to support changes in type annotations in Bokeh >= 3.7 and add support for PyPy 3.11.
ContourPy 1.3.2 is a minor release to support changes in type annotations in Bokeh >= 3.7 and add support for PyPy 3.11.
This release supports CPython 3.10 to 3.13, and PyPy 3.10 to 3.11.
Compatibility:
Build, testing and CI improvements:
ContourPy 1.3.1 is a compatibility release to support changes in bokeh , meson-python and pybind11 .
ContourPy 1.3.1 is a compatibility release to support changes in bokeh, meson-python and pybind11.
This release supports Python 3.10 to 3.13.
Compatibility:
bokeh 3.6.0 (#444)pybind11 to 2.13.2 (#451)meson-python version in recommended way (#452)Code improvements:
itertools.pairwise instead of zip where possible (#437)ruff UP035 and UP038 (#438)Build, testing and CI improvements:
ContourPy 1.3.0 adds new ContourGenerator functions multi_lines and multi_filled to calculate contour lines and filled contours over a sequence of lev
ContourPy 1.3.0 adds new ContourGenerator functions multi_lines and multi_filled to calculate contour lines and filled contours over a sequence of levels in a single function call. There are also new functions to render, convert and dechunk the returns from multi_lines and multi_filled.
This release adds support for Python 3.13, including free-threaded. The latter should be considered experimental.
The use of np.nan as the lower_level or upper_level of ContourGenerator.filled() is no longer permitted.
Windows wheels uploaded to PyPI now bundle the C++ runtime statically to avoid problems with up and downstream libraries causing the use of incorrect DLLs.
This release supports CPython 3.9 to 3.13, and PyPy 3.9 to 3.10.
Thanks to new contributor @lysnikolaou and core maintainer @ianthomas23.
Enhancements:
multi_lines and multi_filled:
Prevent use of np.nanas lower or upper level in filled (#339)
Compatibility:
Code improvements:
Documentation improvements:
multi_lines and multi_filled (#390, #431)Build, testing and CI improvements:
std::mutex compiler flag (#391, #395, #414, #419, #427)ContourPy 1.2.1 is a compatibility release to support NumPy 2.
ContourPy 1.2.1 is a compatibility release to support NumPy 2.
This release supports Python 3.9 to 3.12.
Thanks to new contributor @motoro and core maintainer @ianthomas23.
Compatibility:
Code improvements:
Documentation improvements:
pip install (#349)Build, testing and CI improvements:
Nothing published for this version
ContourPy 1.2.0 is a significant release with a number of new features. There is a new format for contour lines called LineType.ChunkCombinedNan that
ContourPy 1.2.0 is a significant release with a number of new features. There is a new format for contour lines called LineType.ChunkCombinedNan that is designed to work directly with Bokeh and HoloViews. There are also new functions for manipulating contour lines and filled contours (convert_filled, convert_lines, dechunk_filled and dechunk_lines).
Calling ContourGenerator.filled() with two identical levels now raises a ValueError whereas previously it gave different results depending on algorithm name.
This release supports Python 3.9 to 3.12, and is the first release to ship musllinux aarch64 wheels.
Enhancements:
dechunk_filled and dechunk_lines (#290)convert_filled and convert_lines (#291, #293, #294, #312, #313)LineType.ChunkCombinedNan (#296, #301, #308)filled() with lower_level==upper_level (#317)Code improvements:
Documentation improvements:
versionadded sphinx directive (#285)Build, testing and CI improvements:
+/-np.inf (#283)This release adds support for CPython 3.12 and reinstates the release of Windows 32-bit wheels following NumPy's intention to continue doing so. There
This release adds support for CPython 3.12 and reinstates the release of Windows 32-bit wheels following NumPy's intention to continue doing so. There is a new keyword argument webdriver to the BokehRenderer save functions to reuse the same Selenium WebDriver instance across multiple calls.
This release supports Python 3.8 to 3.12.
Thanks to new contributor @shadchin and existing contributors @eli-schwartz and @ianthomas23.
Enhancements:
webdriver kwarg to Bokeh export functions (#261)--driver-path pytest option to specify chrome driver path (#264)Code improvements:
Documentation improvements:
Build system and CI improvements:
ninja to come from PyPI (#260)ninja build requirements (#270)This is a release candidate that includes wheels for Python 3.12. It also reinstates Windows 32-bit wheels.
This is a release candidate that includes wheels for Python 3.12. It also reinstates Windows 32-bit wheels.
To install from PyPI use
pip install --pre contourpyor the more explicit
pip install "contourpy==1.1.1rc1"Changelog will be updated with the full release which will happen before the end of September.
This release features a change in the build system from distutils , which is scheduled for removal in Python 3.12, to meson and meson-python . It incl
This release features a change in the build system from distutils, which is scheduled for removal in Python 3.12, to meson and meson-python. It includes the building of wheels for ppc64le and s390x (on x86_64 only) and removes building of all 32-bit wheels and macOS universal2 wheels.
This release supports Python 3.8 to 3.11.
Thanks to new contributor @eli-schwartz.
Build system improvements:
Code improvements:
Documentation improvements:
CI improvements:
This release features a change in the build system from distutils , which is scheduled for removal in Python 3.12, to meson and meson-python . It includes the building of wheels for ppc64le and s390x (on x86_64 only) and removes building of all 32-bit wheels and macOS universal2 wheels.
Note
Windows 32-bit wheels were retroactively released for v1.1.0 on 2023-09-15 following NumPy’s decision to keep releasing Win32 wheels.
This release supports Python 3.8 to 3.11.
Thanks to new contributor @eli-schwartz .
Build system improvements:
New meson build system ( #183 , #226 , #232 , #249 , #250 )
Drop building universal2 wheels ( #225 )
Add build_config to store and show build configuration info ( #227 )
Build ppc64le and s390x wheels ( #246 )
Code improvements:
Rearrange functions alphabetically ( #219 )
Remove unused mpl2005 and mpl2014 code ( #234 , #237 )
Improve mpl2014 chunk count error handling ( #238 )
Documentation improvements:
Improve API docs ( #220 , #221 , #222 )
Update benchmarks ( #233 )
Add meson-specific build docs ( #245 )
Add simpler README for PyPI ( #247 )
CI improvements:
Replace flake8 with ruff ( #211 )
Building and testing on cirrus CI ( #213 )
Run mypy in CI ( #230 )
Set up code coverage in CI ( #235 , #236 , #183 )
New internal API, codebase and debug renderer tests ( #239 , #241 , #244 )
Use correct version of chromium for Bokeh image tests ( #243 )
Add tests for musllinux (on x86_64), ppc64le and s390x ( #246 )
This release adds type annotations and moves project metadata to pyproject.toml (PEP 621). Documentation now uses the Sphinx Furo theme, supporting da
This release adds type annotations and moves project metadata to pyproject.toml (PEP 621). Documentation now uses the Sphinx Furo theme, supporting dark and light modes. There are no functional changes.
Type annotations:
Documentation improvements:
Code improvements:
Build system and CI improvements:
This release features major improvements to the robustness of the threaded algorithm on both CPython and PyPy.
This release features major improvements to the robustness of the threaded algorithm on both CPython and PyPy.
Thanks to new contributors @mgorny and @Zac-HD.
Threaded algorithm improvements:
CI improvements:
This release includes performance improvements for threaded and serial chunked algorithms, and is the first release to support CPython 3.11.
This release includes performance improvements for threaded and serial chunked algorithms, and is the first release to support CPython 3.11.
Performance improvements:
CPython 3.11 support:
This release puts all C++ code within a namespace to avoid symbol conflicts such as on IBM AIX.
This release puts all C++ code within a namespace to avoid symbol conflicts such as on IBM AIX.
Remove unnecessary code duplication #130
Add tests that do not write text to images #124
Add docs and tests to sdist #119
Finalised API for version 1.0 release.
Finalised API for version 1.0 release.
All ContourGenerator classes implement the same readonly properties
* Build on Python 3.10 #76 _
#76 <https://github.com/contourpy/contourpy/pull/76>_Improvements to build on older MSVC. #85 _
#85 <https://github.com/contourpy/contourpy/pull/85>_Include license file in sdist. #81 _
#81 <https://github.com/contourpy/contourpy/pull/81>_- Initial release. Contents
Initial release.
Contents
Your coding agent can read these notes before it upgrades. Set up the MCP server →