0.10.0
Python Changes
Breaking Changes
Support for Python 2.7 has been dropped. With the impending EOL of Python 2.7 on January 1, 2020 many of the
bezier
dependencies such asnumpy
,scipy
andpytest
have dropped support for Python 2.7 in their latest releases. Some changes related to this include:
Build
Integrating
black
code formatter into thenox -s lint
session to ensure consistent formatting (e659532).Fully automating the building of wheels in the
bezier-wheels
project (recent commits). Built wheels are uploaded to a Google Cloud Storage bucket.Using the same set of optimal flags for Fortran 77 code (i.e.
.f
files) that are used for Fortran 90 code (i.e..f90
files) (e7eb56e).Unify
requirements.txt
files and add notes about why each dependency is required (230814d, 1ae147f, e710ee6).Changing
imp
usage toimportlib
due to deprecation of the former (9231d92). Fixed #137.Ditching the
--check-archs
flag in the macOS script for building wheels since we can no longer support 32-bit on macOS due to NumPy (37be384).Improved dev experience with Docker image used on CircleCI by adding a
.dockerignore
file for faster builds, suggesting--workdir
and flag during local dev, settingWHEELHOUSE
environment variable directly in the container (rather than in the CircleCI settings) and allowing “default” locations for pre-built wheels at/wheelhouse
and${HOME}/wheelhouse
(08be336, 26acc38, 7634779, f9a8fcf).
Miscellany
Make some functional test cases more lenient so that they pass on 32-bit CentOS 5, which is used for
manylinux
(e7eb56e). This was part of a large effort to fully automate the building of wheels in thebezier-wheels
project.Replacing
pypy
withpypy3
in testing as the only non-CPython “unofficially supported” runtime. (This is part of the drop in support for Python 2.7.) Unfortunately the currently (as of August 2019) released versions ofpypy3
are not currently working withnumpy >= 1.16
(see numpy/numpy#12740) so thenumpy == 1.15.4
version is a pinned dependency.Specifying the NumPy version in
setup.py
based onimplementation_name
(7e9046d).Add
_pypy_speedup.c
built with Cython 0.29.11 because the latest Cython (0.29.13 as of August 2019) corresponds to the versions of NumPy that are incompatible with PyPy (7813e41).Pinning to
numpy==1.15.4
andscipy==1.2.0
in wheelhouse for pre-built Docker container (7634779).
Added
nox -s validate_functional_test_cases
session to ensure that functional test cases always adhere to the JSON schema.Updated
@slow
marker forpytest
because it used a deprecated API (46f8b57).
Documentation
Changing all references to Mac OS X to macOS (b10c2fc, c1c2c6b, 131d17b). As of 10.12, the operating system has changed its name.
Splitting up
algorithms/helpers
. The pre-amble has been moved into thealgorithms
landing page and the geometric and algebraic helpers have been moved into separate docs. (889c913).